1

私はWebソケットを試しています。

私はhttp://www.websocket.org/echo.htmlサイトを見ます...彼らはクライアント用の簡単なエコーデモを持っています[独自のテストの作成の下]私はそのコードをコピーします...

<!DOCTYPE html>  
<meta charset="utf-8" /> 
<title>WebSocket Test</title>  
<script language="javascript" type="text/javascript">  

 var wsUri = "ws://echo.websocket.org/";
 var output;

 function init() 
 { 
  output = document.getElementById("output"); 
  testWebSocket(); 
 }

 function testWebSocket() 
 { 
  websocket = new WebSocket(wsUri); 
  websocket.onopen = function(evt) { onOpen(evt) }; 
  websocket.onclose = function(evt) { onClose(evt) }; 
  websocket.onmessage = function(evt) { onMessage(evt) }; 
  websocket.onerror = function(evt) { onError(evt) }; 
 }

 function onOpen(evt) 
 { 
     writeToScreen("CONNECTED"); 
     doSend("WebSocket rocks"); 
}

function onClose(evt) 
{ 
   writeToScreen("DISCONNECTED"); 
}
function onError(evt) 
{ 
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data); 
 }

 function doSend(message) 
 { 
      writeToScreen("SENT: " + message); 
      websocket.send(message); 
}

function writeToScreen(message) 
{ 
    var pre = document.createElement("p"); 
    pre.style.wordWrap = "break-word"; 
    pre.innerHTML = message; 
    output.appendChild(pre); 
}

window.addEventListener("load", init, false);

</script>  <h2>WebSocket Test</h2>  
<div id="output"></div> 

 </html>

接続はするが応答が取れない…

Websocket がサポートされているサーバーで Websocket のクライアントを実行する必要がありますか?

4

2 に答える 2

-1

onMessage(evt) ハンドラーがありません。

function onMessage(message){
   writeToScreen("GOT MESSAGE: " + message.data); 
}

ここに実際のがあります。

ボタンをクリックすると、接続が開き、メッセージが送信され、受信されます。

お使いのブラウザのみがサポートを必要とすることに注意してください!

バックエンドに独自の Web ソケット ベースのサービスを実装する場合。もちろん、サポートするWebサーバーが必要です..

于 2012-09-12T08:55:12.567 に答える