通过上一篇方法就能够实现TCP简单连接,但是有个问题,不能实现多客户端连接,因为服务器端如果接到一个连接请求之后,就会进入代码对应的循环中。那么怎么实现多人聊天呢?
实际上可以使用多线程,这样就不会有上述问题了。只需要引入新线程来处理每个连接事务即可
package Net.TCP;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPThreadServer {
ServerSocket server;
public static void main(String[] args) throws IOException {
TCPThreadServer tcpserver=new TCPThreadServer();
ServerSocket server=new ServerSocket(30002);
while(true)
{
System.out.println("服务器等待中.......");
final Socket socket=server.accept();
Thread td=new Thread()
{
@Override
public void run()
{
try {
doClient(socket);
} catch (IOException e) {
e.printStackTrace();
}
}
};
td.start();
}
}
private static void doClient(Socket socket) throws IOException