📄 a地.java
字号:
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
//主机二
class beijing_Frame extends Frame implements Runnable,ActionListener{
TextField out_message=new TextField("发送数据到上海 ");
TextArea in_message=new TextArea();
Button b=new Button("发送数据到上海");
beijing_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 actionPerformed(ActionEvent event){
byte buffer[]=out_message.getText().trim().getBytes();
try{
InetAddress address=InetAddress.getByName("localhost");
//数据的目标端口是666(那么接收方需要在这个端口接收)
DatagramPacket pack=new DatagramPacket(buffer,buffer.length,address,666);
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 void run(){
DatagramPacket pack=null;
DatagramSocket mail_data=null;
byte data[]=new Byte[8192];
try{
pack=new DatagramPacket(data,data.length);
//使用端口888来接收数据(因为北京发来的数据报的目标端口是888)
mail_data=new DatagramSocket(888);
}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){}
}
}
}//beijing_Frame
public class A地{
public static void main(String arges[]){
beijing_Frame beijing_win=new beijing_Frame();
beijing_win.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
})
beijing_win.pack();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -