当“网站”选项卡关闭时,服务器如何知道关闭websocket的连接

Ton*_*gis 1 perl webclient websocket

我创建了一个websocket(使用perl Net :: WebSocket :: Server,但我认为这没关系)。我的问题是,当我关闭网站选项卡(不一定是整个浏览器)时,服务器将断开特定的套接字(称为断开事件)。服务器如何设法知道这一点?我找不到直接的详细说明。

Gra*_*ean 6

如果浏览器关闭套接字的一端(通过关闭显式关闭或由于进程退出而隐式关闭),则套接字连接另一端的服务器将收到有关套接字已关闭的通知。这只是TCP工作方式的一部分。即使消息丢失并且服务器认为套接字仍处于打开状态,当它尝试发送数据时,它最终也会发现另一端未确认数据包并会断开连接。

对于浏览器选项卡,可以合理地假设浏览器将清除/关闭与正在关闭的选项卡相关的所有资源。