📄 udpserverthread.java
字号:
package udptest;import java.io.*;import java.net.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class UDPServerThread extends Thread { private DatagramSocket UDPServerSocket = null; public UDPServerThread(int port) { try { UDPServerSocket=new DatagramSocket(port); System.out.println("邮件服务监听在端口:"+UDPServerSocket.getLocalPort()+"\n"); } catch(Exception e) { System.err.println(e); } } public void run() { if(UDPServerSocket == null) return; while(true) { try{ byte dataBuf[]=new byte[512]; DatagramPacket ServerPacket; InetAddress RemoteHost; int RemotePort; String Datagram,s; ServerPacket=new DatagramPacket(dataBuf,512); UDPServerSocket.receive(ServerPacket); RemoteHost=ServerPacket.getAddress(); RemotePort=ServerPacket.getPort(); Datagram=new String(ServerPacket.getData()); System.out.println("收到如下主机发来的邮件:" +RemoteHost.getHostName() +":\n"+Datagram); Datagram = new String(RemoteHost.getHostName()+ ":\n MailServer "+InetAddress.getLocalHost().getHostName() +" has already get your mails."); for(int i=0;i<512;i++) dataBuf[i]=0; Datagram.getBytes(0,Datagram.length(),dataBuf,0); ServerPacket=new DatagramPacket(dataBuf,dataBuf.length, RemoteHost,RemotePort); UDPServerSocket.send(ServerPacket); } catch(Exception e) { System.err.println(e); } } } protected void finalize() { if(UDPServerSocket != null) { UDPServerSocket.close(); UDPServerSocket=null; System.out.println("关闭服务器的数据报连接!"); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -