2013-04-10 3 views
0

"HTML5 websocket에 대한 확실한 안내서"에서 본이 코드를 참조하십시오.WebSocket onmessage가 실행되지 않는 이유

.... 
<div id="output"></div> 
<script> 
function setup() { 
output = document.getElementById("output"); 
ws = new WebSocket("ws://localhost:7777"); 

ws.onopen = function(e) { 
    log("Connected"); 
    sendMessage("Hello Websocket!"); 
} 

ws.onclose = function(e){ 
    log("Disconnected: " + e.reason); 
} 

ws.onerror = function(e){ 
    log("Error "); 
} 

ws.onmessage = function(e) { 
    log("Message received: " + e.data); 
    ws.close(); 
} 

} 

function sendMessage(msg){ 
ws.send(msg); 
    log("Message Sent"); 
} 

function log(s){ 
var p = document.createElement("p"); 
p.style.wordWrap = "break-word"; 
p.textContent = s; 
output.appendChild(p); 

console.log(s); 
} 
setup(); 
</script> 

하지만, 내가 로컬 호스트에서 실행거야 .. 그냥 때까지이

Connected 
Message Sent 

정지와 같은 출력. 나는 onmessage가 발포하지 않고있는 이벤트를 알고 있었다. 그러나 나는 이유를 모른다. 무엇이 문제 일 수 있겠습니까? 덕분에

답변

4

onmessage은 서버가 클라이언트에게 메시지를 보낼 때만 발동하고 클라이언트가 서버로 메시지를 보낼 때 (당신이하는 일)가 아닙니다.

서버가 메시지를 보내고 있는데 클라이언트가 그 메시지를받지 못하면 서버에 대한 추가 컨텍스트 (예 : 서버 구현 등)를 제공해야합니다.

관련 문제