Я пытаюсь подключиться через websocket с расширения chrome 17 к локальному серверу nodejs. После создания
var websocket = new WebSocket ("ws: // localhost: 7055");
После успешного создания экземпляра websocket я немедленно получаю событие onClose.
Проверка, поддерживается ли websocket, является верной.
if ("WebSocket" в окне)
log («здесь поддерживаются веб-сокеты»);
ЧТО ТАКОЕ ПРОБЛЕМА? Я надеюсь, что кто-нибудь может мне помочь с этим вопросом.
Браузер, как правило, может запускать веб-сокеты, я проверил его
с
http://websocket.org/echo.html
Также «Темный терминал WebSocket» (расширение Google) показывает то же самое
поведение при подключении к ws: // localhost: 7055 /
Я пробовал также с ws: //127.0.0.1: 7055 /, тот же результат
код клиента (расширение Chrome 17)
runSockets("ws://localhost:7055");
function runSockets(wsUri) {
if ("WebSocket" in window)
log("Websockets are supported here ");
var websocket = new WebSocket(wsUri);
log("Web Socket created with the state "+ websocket.readyState);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}
function onOpen(evt) {
log("CONNECTED");
doSend("WebSocket connected");
}
function onClose(evt) {
log("DISCONNECTED");
}
function onMessage(evt) {
log("RESPONSE: " + evt.data);
websocket.close();
}
function onError(evt) {
log("ERROR: " + evt.data);
}
function doSend(message {
log("SENT: " + message);
websocket.send(message);
}
код сервера (nodejs v0.6.11)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\r\n');
}).listen(7055, 'localhost');
console.log('Server running at http://localhost:7055/');