?? 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 + -