📄 receiveframe.java
字号:
package com.test;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class receiveframe extends Frame implements Runnable,ActionListener
{
TextField out_message = new TextField("发送数据到对方:");
TextArea in_message = new TextArea();
Button b = new Button("发送数据包到对方");
byte data[] = new byte[8192];
DatagramPacket pack = null;
receiveframe()
{
super("广州发送站");
setSize(200,200);
setVisible(true);
b.addActionListener(this);
add(out_message,"South");
add(in_message,"Center");
add(b,"North");
pack = new DatagramPacket(data,data.length);
Thread thread = new Thread(this);
thread.start();
}
public void actionPerformed(ActionEvent e)
{
byte buffer[] = out_message.getText().trim().getBytes();
try
{
InetAddress address = InetAddress.getByName("localhost");
DatagramPacket data_pack = new DatagramPacket(buffer,buffer.length,address,666);
DatagramSocket mail_data = new DatagramSocket();
in_message.append("数据报目标主机地址:"+data_pack.getAddress()+"\n");
in_message.append("数据报目标端口: "+data_pack.getPort()+"\n");
in_message.append("数据报长度:"+data_pack.getLength()+"\n");
mail_data.send(data_pack);
in_message.append("发送666成功"+"\n");
}catch(Exception ee){in_message.append("发送666失败"+"\n");}
}
//线程监听接收
public void run()
{
DatagramSocket mail_data = null;
try
{
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 address = pack.getAddress();
int port = pack.getPort();
String message = new String(pack.getData(),0,length);
in_message.append("收到的数据包长度:"+length+"\n");
in_message.append("收到的数据包来自:"+address+";端口:"+port+"\n");
in_message.append("收到的数据包为:"+message+"\n");
}catch(Exception e){in_message.append("接收888失败"+"\n");}
}
}
}
public static void main(String args[])
{
receiveframe mysend = new receiveframe();
mysend.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}
});
mysend.pack();
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -