📄 udpechoserver.java
字号:
package udpecho;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */import java.net.*;import java.io.*;abstract class UDPServer extends Thread{ private int bufferSize; protected DatagramSocket ds; public UDPServer(int port,int bufferSize) throws SocketException{ this.bufferSize =bufferSize; this.ds =new DatagramSocket(port); } public UDPServer(int port) throws SocketException{ this(port,8192); } public void run(){ byte[] buffer=new byte[bufferSize]; while (true){ DatagramPacket incoming=new DatagramPacket(buffer,buffer.length); try{ ds.receive(incoming); this.respond(incoming); } catch (IOException e){ System.err.println(e); } } } public abstract void respond(DatagramPacket request);}public class UDPEchoServer extends UDPServer { public final static int DEFAULT_PORT=7; public UDPEchoServer() throws SocketException{ super(DEFAULT_PORT); } public void respond(DatagramPacket packet){ try{ DatagramPacket outgoing=new DatagramPacket(packet.getData(),packet.getLength(),packet.getAddress(),packet.getPort()); ds.send(outgoing); } catch (IOException e){ System.err.println(e); } } public static void main(String[] args){ try{ UDPEchoServer server=new UDPEchoServer(); server.start(); } catch (SocketException e){ System.err.println(e); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -