2012-03-14 15 views

答えて

2

送信されるデータはキューに入れられ、非同期に送信されるため、最初のデータが送信される前に2番目のデータが呼び出される可能性があります。ただし、2回目の送信で送信されたデータは、最初の送信前にサーバーに到達しません。

Webソケットの動作in the HTML5 specificationについて詳しく読むことができます。

0

あなたの送信呼び出しが同じJavascript実行コンテキストにある場合、それらは確実に順番に実行されます。さらに、各送信は、onmessageハンドラによってメッセージ全体として受信されます(断片化されません)。

同じ実行コンテキスト:

function doit() { 
    ws.send("msg1"); 
    ws.send("msg2"); 
} 

異なる実行コンテキスト:2番目の例で

setTimeout(function() { ws.send("msg1"); }, 100); 
setTimeout(function() { ws.send("msg2"); }, 110); 

は、 "MSG2は、" "MSG1" の後に配信されることが保証されていません。指定された遅延がわずかに長いため保証されていない可能性があります。

関連する問題