在java中基于socket的网络通信主要是使用ServerSocket及Socket来分别构建服务端和客户端,双方通过发送和接收字节数组来实现数据的交换,其通信流程如下:
示例代码如下:
服务端Server.java
public class Server {
public static void main(String[] args) throws IOException {
ExecutorService executorService = Executors.newCachedThreadPool();
ServerSocket serverSocket = new ServerSocket(9999);
System.out.println("server started...");
while (true) {
Socket socket = serverSocket.accept();
System.out.println("client connected...");
executorService.execute(() -> {
process(socket);
});
}
}
public static void process(Socket socket) {
long threadId = Thread.currentThread().getId();