如何使用网络套接字

时间:2012-03-19 07:01:56

标签: javascript websocket

我正在尝试使用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>

我从firebug得到了这个错误日志:

enter image description here

我真的不明白这一切意味着什么。为了使这项工作,我需要设置一些东西吗?

1 个答案:

答案 0 :(得分:1)

通常在客户端不使用与服务器相同的协议版本时发生。服务器应该指定它使用的版本,socket.io默认使用RFC6455,但可以覆盖它以使用较旧的hybi-0x。

因此,请检查以下内容:

  • 客户&amp;服务器实现的协议版本
  • 服务器允许
  • origin(例如localhost)
  • 防火墙,互联网安全套件,区域警报,那种东西