WebSocket 仅接收"disconnect"



我在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);  

但我总是只收到DISCONNECT!

有什么问题吗?

我必须在我的本地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协议的新草案,这是一个彻底的检修。这意味着服务器必须返回一个不同的握手响应,并且还必须解码发送的消息,这与之前的草案不同。这可能只是因为他们还没有升级他们的服务器。

你可能想要的是建立你自己的服务器,它符合新的草案,并在该服务器上测试它。

到处都是WebSockets服务器的库;您可以在这里查看并选择您所选择的服务器语言。

你需要指定websocket是一个变量。修改这一行:

websocket = new WebSocket(wsUri); 

:

var websocket = new WebSocket(wsUri);

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

相关内容

  • 没有找到相关文章

最新更新