WebSocket仅接收“文件”;“断开连接”;

WebSocket仅接收“文件”;“断开连接”;,websocket,Websocket,我正在Google Chrome上尝试这个简单的websocket示例: var wsUri = "ws://echo.websocket.org/"; var output; function init() { output = document.getElementById("output"); testWebSocket(); } function testWebSocket() { websocket = new WebSocket(wsUri);

我正在Google Chrome上尝试这个简单的websocket示例:

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) 
 }; 

 ..............
 ..............

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

 function onClose(evt) {
    writeToScreen("DISCONNECTED"); 
 }  

 window.addEventListener("load", init, false);  
但我总是只收到断开连接

有什么不对劲吗


我必须在本地Apache中启用WebSockets协议吗?如果是,如何执行?

此服务器不可靠。对于Chrome 14,它甚至失败了

Chrome 14的WebSockets请求的响应如下,这显然是不正确的:

HTTP/1.1 200 OK
Server: Kaazing Gateway
Date: Tue, 27 Sep 2011 14:07:53 GMT
Content-Length: 0
请注意,Chrome刚刚切换到WebSockets协议的一个新草案,这是一次彻底的检修。这意味着服务器必须返回不同的握手响应,还必须对发送的消息进行解码,这与之前的草稿不同。可能只是因为他们还没有升级服务器

您可能需要设置自己的服务器,该服务器与新草案兼容,并在该服务器上进行测试


到处都有很多用于WebSocket服务器的库;您可以查看并选择您选择的服务器语言。

此服务器不可靠。对于Chrome 14,它甚至失败了

Chrome 14的WebSockets请求的响应如下,这显然是不正确的:

HTTP/1.1 200 OK
Server: Kaazing Gateway
Date: Tue, 27 Sep 2011 14:07:53 GMT
Content-Length: 0
请注意,Chrome刚刚切换到WebSockets协议的一个新草案,这是一次彻底的检修。这意味着服务器必须返回不同的握手响应,还必须对发送的消息进行解码,这与之前的草稿不同。可能只是因为他们还没有升级服务器

您可能需要设置自己的服务器,该服务器与新草案兼容,并在该服务器上进行测试


到处都有很多用于WebSocket服务器的库;您可以查看并选择您选择的服务器语言。

您需要指定websocket是一个变量。更改此行:

websocket = new WebSocket(wsUri); 
为此:

var websocket = new WebSocket(wsUri);

希望能有帮助。这为我解决了一些问题。

您需要指定websocket是一个变量。更改此行:

websocket = new WebSocket(wsUri); 
为此:

var websocket = new WebSocket(wsUri);

希望能有帮助。这为我解决了一些问题。

我如何配置本地apache以使用websocket协议?@jack.cap.rooney:你不需要apache。事实上,WebSockets服务器根本不使用Apache,因为它不是HTTP服务器。你需要一些独立的东西。我更喜欢Node.js,因为你可以用JavaScript对服务器进行编程,并且有几个可用的库。事实上,websocket.org非常可靠,而且它支持最终协议版本已经很长时间了。@Peter Moskovits:谢谢你的提醒;正如你所看到的,我差不多一年前写过这篇文章。我如何配置本地apache以使用websocket协议?@jack.cap.rooney:你不需要apache。事实上,WebSockets服务器根本不使用Apache,因为它不是HTTP服务器。你需要一些独立的东西。我更喜欢Node.js,因为你可以用JavaScript对服务器进行编程,并且有几个可用的库。事实上,websocket.org非常可靠,而且它支持最终协议版本已经很长时间了。@Peter Moskovits:谢谢你的提醒;正如你所看到的,我差不多在一年前写过这篇文章,你可以很容易地用JSFIDLE测试它。下面是来自websocket.org的代码片段,它工作得很好:您可以非常轻松地使用JSFIDLE对其进行测试。下面是websocket.org中的代码片段,它可以正常工作: