| import java.io.*; import java.net.*; public class SimpleDatagramServer { public static void main(String[] args) { DatagramSocket socket = null; DatagramPacket recvPacket, sendPacket; try { socket = new DatagramSocket(4545); while (socket != null) { recvPacket= new DatagramPacket(new byte[512], 512); socket.receive(recvPacket); sendPacket = new DatagramPacket( recvPacket.getData(), recvPacket.getLength(), recvPacket.getAddress(), recvPacket.getPort() ); socket.send( sendPacket ); } } catch (SocketException se) { System.out.println("Error in SimpleDatagramServer: " + se); } catch (IOException ioe) { System.out.println("Error in SimpleDatagramServer: " + ioe); |
| import java.io.*; import java.util.*; import java.net.*; import Namevalue; /** * 这个类有一个HTTP请求的所有信息 */ public class HTTPrequest { public String version; public String method; public String file; public Socket clientSocket; public DataInputStream inbound; public Namevalue headerpairs[]; /** * 建立一个这个类的实例 */ public HTTPrequest() { version = null; method = null; file = null; clientSocket = null; inbound = null; inbound = null; headerpairs = new Namevalue[0]; } /** * 加入一个名称/值对到核心数组 */ public void addNamevalue(String name, String value) { try { Namevalue temp[] = new Namevalue[ headerpairs.length + 1 ]; System.arraycopy(headerpairs, 0, temp, 0, headerpairs.length); temp[ headerpairs.length ] = new Namevalue(name, value); headerpairs = temp; } catch (NullPointerException npe) { System.out.println("NullPointerException while adding name-value: " + npe); } } /** * 以字符串的形式归还这个类 */ public String toString() { String s = method + " " + file + " " + version + " "; for (int x = 0; x < headerpairs.length; x++ ) s += headerpairs[x] + " "; return s; } } |