📄 b地.java
字号:
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
//主机一
class shanghai_Frame extends Frame implements Runnable,ActionListener{
TextField out_message=new TextField("发数据到北京");
TextArea in_message=new TextArea();
Button b=new Button("发数据到北京");
shanghai_Frame(){
super("我在上海");
setSize(200,200);
setVisible(true);
b.addActionListener(this);
add(out_message,"South");
add(in_message,"Center");
add(b,"North");
Thread thread=new Thread(this);
thread.start(); //线程负责接收数据
}
//接收数据
public void run(){
DatagramPacket pack=null;
DatagramSocket mail_data=null;
byte data[]=new byte[8192];
try{
pack=new DatagramPacket(data,data.length);
//使用端口666来接收数据(因为北京发来的数据报的目标端口是666)
mail_data=new DatagramSocket(666);
}catch(Exception e){}
while(true){
if(mail_data==null)
break;
else
try{
mail_data.receive(pack);
int length=pack.getLength(); //获取收到的数据的实际长度
InetAddress adress=pack.getAddress();//获取收到的数据的始发地址
int port=pack.getPort();//获取收到的数据的始发端口
String message=new String(pack.getData(),0,length);
in_message.append("收到数据长度 "+length+"\n");
in_message.append(""+adress+"端口 "+port+"\n");
in_message.append("收到数据是 "+message+"\n");
}catch(Exception e){}
}
}
//点击按扭发送数据
public void actionPerformed(ActionEvent event){
byte buffer[]=out_message.getText().trim().getBytes();
try{
InetAddress address=InetAddress.getByName("localhost");
//数据的目标端口是888(那么接收方需要在这个端口接收)
DatagramPacket pack=new DatagramPacket(buffer,buffer.length,address,888);
DatagramSocket mail_data=new DatagramSocket();
in_message.append("数据报目标主机地址:"+pack.getAddress()+"\n");
in_message.append("数据报目标端口是:"+pack.getPort()+"\n");
in_message.append("数据报长度:"+pack.getLength()+"\n");
mail_data.send(pack);
}catch(Exception e){}
}
}
public class B地{
public static void main(String arges[]){
shanghai_Frame shanghai_win=new shanghai_Frame();
shanghai_win.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
shanghai_win.pack();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -