客户端切断与服务器的受控连接并重新连接,现在可以控制发送的数据。如果您将数据处理为JSON(就像大多数WS库所显示的那样),那么您将如何处理格式错误的JSON?也就是说,您收到的字符串不是有效的JSON,这一定会导致错误。例如,在Node.js中,这样的错误将是致命的。
那么WS库是如何处理这个问题的呢?我搜索了又搜索,查找了Socket.IO的源代码,却找不到这个问题的解决方法。
WebSocket本身只支持UTF8文本或二进制数据,因此就WS而言,只要它是一个完整的消息及其所有帧,它就不会抛出任何异常。一旦有了文本,可能会使用JSON.parse
来创建反序列化的对象图,因为大多数浏览器都有本机支持,所以该方法可能会抛出一个解释问题的异常。