Java网络编程
TCP和UDP
Socket编程
ServerSocket和Socket
TCPServer .java
import java.net.*; import java.io.*; /* 首先启动Server,在启动Client,编写时也是一样 */ public class TCPServer { public static void main(String[] args) throws Exception { //ServerSocket(int port),指定端口为6666 ServerSocket ss = new ServerSocket(6666); /* Socket s = ss.accept(); System.out.println("a client connect!"); */ while(true) { //accept()接受,阻塞式的 Socket s = ss.accept(); System.out.println("a client connect!"); //输入流 DataInputStream dis = new DataInputStream(s.getInputStream()); //readUTF,读,阻塞式的 System.out.println(dis.readUTF()); dis.close(); s.close(); } } }
TCPClient.java
import java.net.*; import java.io.*; public class TCPClient { public static void main(String[] args) throws Exception { //Socket(String host, int port),指定主机和端口 Socket s = new Socket("127.0.0.1", 6666); //输出流 OutputStream os = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); Thread.sleep(3000); //写 dos.writeUTF("hello server!"); dos.flush(); dos.close(); s.close(); } }
f:\java\socket>javac TCPServer.java f:\java\socket>java TCPServer a client connect! f:\java\socket>java TCPServer a client connect! f:\java\socket>javac TCPServer.java f:\java\socket>java TCPServer a client connect! hello server! a client connect! hello server! a client connect! hello server!
f:\java\socket>javac TCPClient.java f:\java\socket>java TCPClient f:\java\socket>java TCPClient f:\java\socket>java TCPClient f:\java\socket>