java tcp多线程 代码示例

pythondaimakaiyuan

温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!

Java中的TCP多线程编程可以实现多个客户端与服务器之间的并发通信。通过使用多线程,服务器可以同时处理多个客户端的请求,提高了系统的并发性能。

下面是一个简单的Java TCP多线程示例代码,展示了如何实现一个简单的服务器,可以同时处理多个客户端的请求:

import java.io.*;

import java.net.*;

public class TCPServer {

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(8888);

System.out.println("服务器启动,等待客户端连接...");

while (true) {

Socket clientSocket = serverSocket.accept();

System.out.println("客户端连接成功!");

// 创建一个新的线程处理客户端请求

Thread clientThread = new ClientThread(clientSocket);

clientThread.start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

class ClientThread extends Thread {

private Socket clientSocket;

public ClientThread(Socket clientSocket) {

this.clientSocket = clientSocket;

}

@Override

public void run() {

try {

// 获取客户端输入流

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

// 获取客户端输出流

PrintWriter out = new PrintWriter(clientSocket.getOutputStream());

// 读取客户端发送的数据

String clientData = in.readLine();

System.out.println("客户端发送的数据:" + clientData);

// 向客户端发送响应数据

out.println("服务器已收到您的请求!");

out.flush();

// 关闭流和socket连接

in.close();

out.close();

clientSocket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

在上述代码中,ServerSocket类用于创建一个服务器套接字,并指定服务器端口为8888。通过调用accept()方法,服务器将一直等待客户端的连接请求。一旦有客户端连接成功,就会创建一个新的线程来处理该客户端的请求。

ClientThread类继承自Thread类,重写了run()方法,用于处理客户端的请求。在run()方法中,通过获取客户端的输入流和输出流,可以实现与客户端的通信。在示例代码中,服务器接收到客户端发送的数据后,会将数据打印出来,并向客户端发送一个简单的响应。

通过使用多线程,该服务器可以同时处理多个客户端的请求,提高了系统的并发性能。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码