📄 unserver.java
字号:
/**
*
*/
package com.tiankong;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* @author Administrator
*
*/
public class UnServer extends JFrame {
private JTextArea display;
private DatagramPacket sendPacket,receivePacket;
private DatagramSocket socket;
public UnServer(){
super("UnServer");
display=new JTextArea();
getContentPane().add(new JScrollPane(display),BorderLayout.CENTER);
setSize(400,300);
setVisible(true);
try{
socket=new DatagramSocket(5000);
}catch(SocketException se){
se.printStackTrace();
System.exit(1);
}
}
public void waitForPackets(){
while(true){
try{
byte data[]=new byte[100];
receivePacket=new DatagramPacket(data,data.length);
socket.receive(receivePacket);
display.append("\nPacket received:"+"\nFrom host: "+
receivePacket.getAddress()+
"\nHost port: "+receivePacket.getPort()+
"\nLength: "+receivePacket.getLength()+
"\nContaining: \n\t"+
new String(receivePacket.getData(),0,receivePacket.getLength()));
display.append("\n\nEcho data to client...");
sendPacket=new DatagramPacket(receivePacket.getData()
,receivePacket.getLength(),receivePacket.getAddress()
,receivePacket.getPort());
socket.send(sendPacket);
display.append("Packet send\n");
display.setCaretPosition(display.getText().length());
}catch(IOException io){
display.append(io.toString()+"\n");
io.printStackTrace();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
UnServer app=new UnServer();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.waitForPackets();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -