?? udpechoserver.java
字號(hào):
/* * 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 ();
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -