import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; /* * TCP服务端 */ public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8888); while (true) { Socket s = ss.accept(); DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); System.out.println(dis.readUTF()); dos.writeUTF("Welcome:" + s.getPort() + s.getInetAddress()); dis.close(); dos.flush(); dos.close(); s.close(); } } /* * TCP客户端 */ public static void main(String[] args) throws Exception { Socket s = new Socket("127.0.0.1", 8888); DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); dos.writeUTF("Hello Server!"); System.out.println(dis.readUTF()); dos.flush(); dos.close(); dis.close(); s.close(); } /* * UDP服务端 */ public static void main(String[] args) throws Exception { byte[] b = new byte[1024]; DatagramPacket dp = new DatagramPacket(b, b.length); DatagramSocket ds = new DatagramSocket(8888); while (true) { ds.receive(dp); ByteArrayInputStream bais = new ByteArrayInputStream(b); DataInputStream dis = new DataInputStream(bais); System.out.println(dis.readLong()); } } /* * UDP客户端 */ public static void main(String[] args) throws Exception { long l = 10000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeLong(l); byte[] b = baos.toByteArray(); DatagramPacket dp = new DatagramPacket(b, b.length, new InetSocketAddress("127.0.0.1", 8888)); DatagramSocket ds = new DatagramSocket(); ds.send(dp); ds.close(); }