2012-03-19 161 views
3

我想利用Easy Websockets來創建一個聊天應用程序。 http://easywebsocket.org/如何使用網絡套接字

這是我現在的代碼。正如你所看到的,我試圖在每次點擊發送按鈕時在控制檯上記錄消息。它在2個瀏覽器上打開時起作用。但它只能運行不到1分鐘。

<input type="text" id="txt"/> 
<input type="button" value="send" id="sends"/> 
<div id="messages"></div> 

<script src="jquery171.js"></script> 
<script src="easywebsockets.js"></script> 
<script> 
    var socket = new EasyWebSocket("ws://sample.com/resource");//I do not understand this part 
    socket.onopen = function(){ 
     socket.send("hello world.") 
    } 
    socket.onmessage= function(event){ 
     console.log(event.data) 
    } 

    $('#sends').click(function(){ 
     var txt = $('#txt').val() 
     socket.send(txt) 
    }); 
</script> 

我從螢火這個錯誤日誌:

enter image description here

我真的不明白這是什麼一切手段。有什麼我需要設置爲了使這項工作?

+0

我目前也在玩[Easy Web Socket](http://easywebsocket.org/)並得到相同的錯誤,但我不明白解決方案...因爲他們ar e說'你想使用websockets?你想把消息廣播給所有連接的客戶端?你不想擔心瀏覽器的兼容性?你不想建立一個服務器?以下是您需要的所有代碼。「那麼,您是如何通過** Easy Web Socket **來解決問題的,或者您只是使用其他方法? – Taifun 2012-12-29 21:45:20

回答

1

它通常發生在客戶端不使用與服務器相同的協議版本時。服務器應該指定它使用的版本,默認情況下,socket.io會使用RFC6455,但可以覆蓋舊版本的hybi-0x。

所以,檢查以下內容:

  • 客戶&服務器實現的協議版本
  • 產地(如本地主機)是由服務器允許
  • 防火牆,互聯網安全套件,zonealarms,那種東西
+0

如何檢查這些?我實際上不知道如何使用node.js和socket.io – 2012-03-19 08:53:02

+1

取決於大量的因素,但如果您是主持聊天服務器的人,您可以避開通過實現[Now.JS](http://nowjs.com/)更容易 - 查看「10線聊天室」示例。 – 2012-03-19 15:24:53

+0

可以在Windows上安裝嗎?我嘗試npm安裝,但我得到的錯誤,我已經嘗試安裝socket.io第一次,並得到它安裝,但我仍然不能安裝now.js – 2012-03-19 17:06:45