我一直在使用多个应用,包括StackExchange Chat(https://chat.stackoverflow.com/)。
假设我打开https://chat.stackoverflow.com/并开始聊天,在几条消息之后,我更改了计算机的IP,但在此之后,我仍然可以接收消息。
服务器如何知道特定客户端已连接到它并发送了消息?
答案 0 :(得分:1)
我的猜测是客户端检测到websocket已经死亡,并重新创建它。这会再次经历整个创建过程,因此如果因为IP发生变化或其他事情发生而死亡并不重要,例如暂时失去连接
当服务器检测到websocket已经死亡时,它就会丢弃它。客户完成所有工作
服务器只知道它有许多属于特定用户的websockets,并将发送所有这些webocket