[英]Read complete data from stream from onMessage
如何使用JavaScript從WebSocket完全讀取event.data
?
onMessage: function(event) {
var msg = event.data;
alert(msg);
}
在上面的代碼中,變量msg
僅顯示部分數據。 如何從WebSocket服務器接收完整的數據?
event.data
包含完整信息; 這僅取決於您的輸出結果。 警報框最多只能包含特定數量的字符,因為更多的字符根本無法容納在警報框中。 alert
不是顯示大數據的好習慣。
一種更方便的方法是保存長度並檢查,例如:
onMessage: function(event) {
var msg = event.data;
alert(msg.length);
}
該長度應為正確的長度,即您發送的字符的長度。
WebSockets是基於消息的傳輸。 如果服務器將“流”分為幾個消息塊,那么您將收到幾個消息事件,而第一個消息事件將不會包含您期望的所有數據。
同樣,WebSocket定義要求onmessage處理程序被調用以獲取完整消息。 您無法獲得部分消息(除非瀏覽器的WebSocket實現被破壞)。
我會嘗試使用異步方法而不是alert()來記錄您收到的消息。 例如,如果您具有Firebug或Chrome Javascript控制台,請嘗試console.log()。 您是在HTML文本框中累積消息數據還是在接收消息時將其覆蓋?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.