在什么情况下 websocket 关闭事件会告诉你 wasClean 是假的?

B T*_*B T 7 javascript browser websocket

在什么情况下 websocket 关闭事件会告诉你 wasClean 是假的?例如:

connection.onclose = function(event) {
   if(!event.wasClean) {
      // whyyyyyyy???
   }
}
Run Code Online (Sandbox Code Playgroud)

gal*_*arm 6

当 WebSocket 连接未通过关闭握手关闭时,wasClean 属性设置为 false。
即没有从服务器接收到有效的关闭帧。

来自文档:“CloseEvent.wasClean 返回一个布尔值,指示连接是否已完全关闭

  • 我想这应该是真的?如果我让客户端启动 close() 并且服务器以 close() 结束(这是规范),我可以获得“wasClean == true”。如果服务器启动 close(),我在 chrome 上得到“true”,但在 firefox 上没有得到“true”,但在所有情况下,我都得到了我想要的代码 (1000) 和我想要的消息 /shrug。 (2认同)