简单的TCP通信程序
TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。
客户端实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public class TestTCPClient { public static void main(String[] args) throws IOException { Socket socket = new Socket("127.0.0.1",8888); OutputStream outputStream = socket.getOutputStream(); outputStream.write("你好服务器!".getBytes());
InputStream inputStream = socket.getInputStream(); byte[] bytes = new byte[1024]; int len = inputStream.read(bytes); System.out.println(new String(bytes,0,len)); socket.close(); } }
|
服务器端实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public class TestTCPServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8888); Socket socket = serverSocket.accept(); InputStream inputStream = socket.getInputStream(); byte[] bytes = new byte[1024]; int len = inputStream.read(bytes); System.out.println(new String(bytes,0,len)); OutputStream outputStream = socket.getOutputStream(); outputStream.write("收到谢谢".getBytes()); socket.close(); serverSocket.close(); } }
|
先运行服务器端,然后运行客户端。
服务器端收到客户端请求,然后读出并回复
1 2 3
| 你好服务器!
Process finished with exit code 0
|
客户端收到服务器端的回复并读出
1 2 3
| 收到谢谢
Process finished with exit code 0
|
这就是在本机上实现的一个简单的TCP通信