我使用websocket建立连接10000个客户端到服务器。但是当一些客户端断开连接时,服务器没有发现这种情况,并且仍然保持这个连接,所以当客户端再次连接服务器时,会建立一个新的连接,并且服务器中的连接数会变得非常大,如果不重启服务器,连接数仍然会增加……
你的服务器websockets有回调错误以及关闭。你是否同时监控两者?
套接字不必告诉另一端。当然,因为你可以关闭浏览器窗口,而服务器永远不会知道。当您打开它们时,您可以设置一个超时,如果在此时间内未看到活动,则会导致套接字关闭。
你也可以'ping'连接强制和错误/关闭,如果他们断开。
最后你可以有一个客户端和浏览器都知道的会话GUID (cookie或localStorage)。如果客户端重新连接并且GUID显示服务器上有活动连接,则可以在打开新连接之前关闭该连接。