功能:使用多线程实现多客户端与服务器进行通信。
参考书:Thingking in Enterprise Java by Bruce Ecket et. Al.
客户端:
import java.io.*;
import java.net.*;
// 客户端线程
class ClientThread extends Thread {
private Socket socket;
private BufferedReader in;
private PrintWriter out;
private static int counter = 0;
private int id = counter++;
private static int threadcount = 0;
public static int threadCount() {
return threadcount;
}
public ClientThread(InetAddress addr) {
System.out.println("Making client " + id);
threadcount++;
try {
socket = new Socket(addr, MultiClient.PORT);
} catch(IOException e) {
System.err.println("Socket failed");
}
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
//调用run()
start();
}catch(IOException e) {
try {
socket.close();
} catch(IOException e2) {

本文介绍如何运用Java多线程技术,实现一个服务器能够同时处理多个客户端的TCP通信。通过创建独立的线程来服务于每个连接的客户端,确保服务器的高并发性能。参考了Bruce Ecket等人的《Thinking in Enterprise Java》一书。
最低0.47元/天 解锁文章
635

被折叠的 条评论
为什么被折叠?



