Javascript 从onMessage从流中读取完整数据

Javascript 从onMessage从流中读取完整数据,javascript,websocket,Javascript,Websocket,如何使用JavaScript完全从WebSocket读取事件数据 onMessage: function(event) { var msg = event.data; alert(msg); } 在上述代码中,变量msg仅显示部分数据。如何从WebSocket服务器接收完整数据?事件。数据包含完整信息;这取决于你的输出,你会看到多少。警报框最多只能包含特定数量的字符,因为警报框中无法容纳更多的字符警报ing不是显示大数据的好方法 更方便的方法是保存长度并检查,例如: onMessage:

如何使用JavaScript完全从WebSocket读取
事件数据

onMessage: function(event) {
 var msg = event.data;
 alert(msg);
}

在上述代码中,变量
msg
仅显示部分数据。如何从WebSocket服务器接收完整数据?

事件。数据包含完整信息;这取决于你的输出,你会看到多少。警报框最多只能包含特定数量的字符,因为警报框中无法容纳更多的字符<代码>警报
ing不是显示大数据的好方法

更方便的方法是保存长度并检查,例如:

onMessage: function(event) {
    var msg = event.data;
    alert(msg.length);
}

长度应该正好是正确的长度,即您发送的字符长度。

WebSockets是一种基于消息的传输。如果服务器将“流”分解为多个消息块,那么您将收到多个消息事件,并且第一个消息事件不会包含您期望的所有数据

此外,WebSocket定义要求对完整消息调用onmessage处理程序。您无法获取部分消息(除非浏览器的WebSocket实现被破坏)


我会尝试使用异步方式而不是alert()来记录您收到的消息。例如,如果您有Firebug或Chrome Javascript控制台,请尝试console.log()。您是在HTML文本框中累积消息数据,还是在接收消息时将其覆盖?

谢谢您的回复,我在没有警报框的情况下再次尝试,这次,我将“event.data”放在HTML文本框中,但我仍然接收到部分数据,而不是完整的数据。@osdevkid:数据是多少?也许浏览器也会起作用。您是否收到多个
onmessage
呼叫?