我有一个网页应用程序,运行在浏览器中。该应用程序连接到一个使用WebSockets的服务器上。因此,服务器和我的客户端/浏览器之间的通信基于WebSockets。如果服务器上发生了某些魔法事件,某个Web服务会向我的Web应用程序发送新的XML / JSON数据,然后新数据将被显示。
但是,作为客户端/浏览器,我如何知道连接是否仍然存在?假设我在大约30秒内没有收到任何新的XML。我怎样才能知道连接关闭/中断/服务器离线还是一切正常,只是在服务器上没有发生新的魔法事件。
readyState
字段,用于告知连接是否仍然活跃 (来自 dart 文档)。readyState 可以是以下两种状态之一:0 - connection not yet established
1 - conncetion established
2 - in closing handshake
3 - connection closed or could not open
如果您希望处理websocket的close
事件(尝试重新连接等),您还可以为其定义事件处理程序。
3种方法: