javascript – Websocket框架大小限制
作者:互联网
我通过websockets发送大量的JSON数据. JSON可能有超过1000个条目.由于帧大小限制,Websocket协议自动将JSON分成帧,这是无法帮助的.因为我们无法改变websockets的框架大小.
问题:
当我尝试使用JSON.parse评估我的JSON时,它给出了一个解析错误,这很明显,因为这些框架不是完整的JSON对象.所有这些都发生在Websocket onmessage事件回调中.如何在不同的帧中接收巨大的JSON并仍然能够解析它?
我试图在onmessage中连接帧仍然是错误仍然存在.
问题:
如何正确地破解破解的JSON?
解决方法:
单个WebSocket帧,每个RFC-6455 base framing,最大大小限制为2 ^ 63字节(9,223,372,036,854,775,807字节〜= 9.22艾字节)(按@Sebastian更正)
但是,由1个或多个帧组成的WebSocket消息对协议级别没有限制.
每个WebSocket实现都将以不同方式处理消息和帧限制.例如为整个消息设置最大消息大小(通常是出于内存消耗的原因),或者为大消息提供流选项以更好地利用内存.
但在您的情况下,您所选择的WebSocket实现可能存在错误,并且不正确地将JSON消息拆分为多个消息,而不是多个消息.您可以使用Chrome中的网络检查工具或Wireshark等外部工具来确认此行为.
标签:javascript,string,json,websocket,atmosphere 来源: https://codeday.me/bug/20191007/1868700.html