服务器套接字重新连接问题

时间:2014-01-09 17:48:44

标签: java sockets socketserver

我有以下代码:

public class StartSocket{
    serverSocket = new ServerSocket(listenPort);
    while (listening)
        { 
          new ServerThread(serverSocket.accept()).start();          
        }

}

ServerThread用于与客户端通信。它每4秒发送一次心跳消息。当我遇到带宽问题时,客户端会尝试重新建立连接。因此ServerThread不断被打开。这会导致服务器过载。

如何管理客户端的重新连接尝试?

1 个答案:

答案 0 :(得分:1)

让服务器在ServerThread中识别客户端。将服务器线程的客户端标识符映射(在服务器上)。如果具有相同标识符的客户端连接,请关闭与该客户端的旧服务器连接。如果心跳因合法原因而死,并且服务器每个客户端不会有多个连接,这将保证客户端可以真正重新连接。

相关问题