WebSockets получают только «отключение» - PullRequest
0 голосов
/ 27 сентября 2011

Я пробую этот простой пример веб-сокета в Google Chrome:

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

Но я всегда получаю только ОТКЛЮЧЕНО!

Что-то не так?

Нужно ли включать протокол WebSockets в моем локальном Apache? Если да, то как?

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Этот сервер не является надежным.Он даже не работает на собственной демонстрационной странице для Chrome 14.

Ответ на запрос WebSockets для Chrome 14 таков, что, очевидно, не правильно:

HTTP/1.1 200 OK
Server: Kaazing Gateway
Date: Tue, 27 Sep 2011 14:07:53 GMT
Content-Length: 0

Обратите внимание, что Chrome только что перешел на новый проект протокола WebSockets, который полностью переработан.Это означает, что сервер должен возвращать другой ответ на рукопожатие, а также должен декодировать отправленные сообщения, что не было в предыдущем черновике.Может быть, они просто еще не обновили свой сервер.

Возможно, вы захотите настроить свой собственный сервер, соответствующий новому проекту, и протестировать его на этом сервере.

Таммного библиотек для серверов WebSockets, появляющихся повсюду;Вы можете посмотреть здесь и выбрать язык сервера по вашему выбору.

1 голос
/ 29 июня 2012

Вы должны указать, что websocket является переменной. Измените эту строку:

websocket = new WebSocket(wsUri); 

к этому:

var websocket = new WebSocket(wsUri);

Надеюсь, это поможет. Это решило некоторые проблемы для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...