udpechoserver.java
来自「java网络编程方面的源码,其中有一个整合的聊天室,比较不错,建议大家下载练习,」· Java 代码 · 共 55 行
JAVA
55 行
/* * Java Network Programming, Second Edition * Merlin Hughes, Michael Shoffner, Derek Hamner * Manning Publications Company; ISBN 188477749X * * http://nitric.com/jnp/ * * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner; * all rights reserved; see license.txt for details. */import java.net.*;
import java.io.*;
public class UDPEchoServer {
protected int port;
public UDPEchoServer (int port) {
this.port = port;
}
public void execute () throws IOException {
DatagramSocket socket = new DatagramSocket (port);
while (true) {
DatagramPacket packet = receive (socket);
if (Math.random () < .9) {
sendEcho (socket, packet);
} else {
System.out.println ("Dropped!");
}
}
}
protected DatagramPacket receive (DatagramSocket socket) throws IOException {
byte buffer[] = new byte[65508];
DatagramPacket packet = new DatagramPacket (buffer, buffer.length);
socket.receive (packet);
return packet;
}
protected void sendEcho (DatagramSocket socket, DatagramPacket packet) throws IOException {
DatagramPacket response = new DatagramPacket
(packet.getData (), packet.getLength (),
packet.getAddress (), packet.getPort ());
socket.send (response);
}
public static void main (String[] args) throws IOException {
if (args.length != 1)
throw new IllegalArgumentException ("Syntax: UDPEchoServer <port>");
UDPEchoServer server = new UDPEchoServer (Integer.parseInt (args[0]));
server.execute ();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?