📄 yomiko.java
字号:
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
//import java.applet.*;
class Yomiko_Frame extends Frame implements Runnable,ActionListener
{
TextArea messageArea,sendArea;
Button b_send;
InetAddress send_address;
Box basebox,boxH1,boxH2,boxH3;
Thread th;
Yomiko_Frame()
{
super("yomiko");
setSize(800,800);
setVisible(true);
messageArea = new TextArea("",10,10,TextArea.SCROLLBARS_VERTICAL_ONLY);
sendArea = new TextArea("",5,5,TextArea.SCROLLBARS_VERTICAL_ONLY);
b_send = new Button("send");
th = new Thread(this);
messageArea.setEditable(false);
th.start();
boxH1 = Box.createHorizontalBox();
boxH1.add(messageArea);
boxH2 = Box.createHorizontalBox();
boxH2.add(sendArea);
boxH3 = Box.createHorizontalBox();
boxH3.add(Box.createHorizontalStrut(350));
boxH3.add(b_send);
boxH3.add(Box.createHorizontalStrut(350));
basebox = Box.createVerticalBox();
basebox.add(boxH1);
basebox.add(Box.createVerticalStrut(10));
basebox.add(boxH2);
basebox.add(Box.createVerticalStrut(10));
basebox.add(boxH3);
add(basebox);
b_send.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
validate();
}
public void actionPerformed(ActionEvent event)
{
byte message[] = sendArea.getText().trim().getBytes();
try
{
send_address = InetAddress.getByName("59.69.120.55");
DatagramPacket data_pack = new DatagramPacket(message,message.length,send_address,1024);
DatagramSocket out = new DatagramSocket();
messageArea.append("发送数据到" + data_pack.getAddress() + "\n");
messageArea.append("目标端口:" + data_pack.getPort() + "\n");
messageArea.append("数据包长度:" + data_pack.getLength() + "\n");
messageArea.append("发送的数据是:" + sendArea.getText().trim() + "\n");
out.send(data_pack);
sendArea.setText("");
}
catch(Exception e){}
}
public void run()
{
DatagramPacket pack = null;
DatagramSocket data = null;
byte message[] = new byte[8192];
try
{
pack = new DatagramPacket(message,message.length);
data = new DatagramSocket(3000);
}
catch(Exception e){}
while(true)
{
if(data == null) break;
else
{
try
{
data.receive(pack);
int length = pack.getLength();
InetAddress address = pack.getAddress();
int port = pack.getPort();
String mess = new String(pack.getData(),0,length);
messageArea.append("收到数据长度:" + length + "\n");
messageArea.append("收到数据包来自:"+ address + " 端口" + port + "\n");
messageArea.append("受到的数据包是:" + mess + "\n");
}
catch(Exception e){}
}
}
}
}
public class Yomiko
{
public static void main(String args[])
{
Yomiko_Frame yomiko = new Yomiko_Frame();
yomiko.pack();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -