почему создание веб-соединения не проходит через http?

я упал через websocket и var fs = require ( 'fs' ); var server = http . createServer ( функция ( запрос , ответ ) { консоль . журнал ( "HTTP - запрос создан ..." ); // Я отвечаю что - то здесь .. }); сервер . listen ( 1234 , function () { console . log (( новая дата ()) + 'Сервер прослушивает порт 1234' ); }); var WebSocketServer = require ( 'websocket' ). сервер ; wsServer = новый WebSocketServer ({ httpServer : server }); wsServer . на ( 'запросу' , функции ( ре ) { вар свя = повторно . принимаем ( нуль , повторно . происхождение ), консольный . журнал ( "Принято новое соединение .." ); соед . на ( 'сообщение' , функция ( сообщение ) { console . log ( 'получено сообщение' + сообщение . utf8Data ); }); }); ,

Я написал ниже пример:

1) Through Browser.
2) through node.js application 

Я попытался двумя способами подключиться к этому серверу.

var WebSocket = require('ws')
  ws = new WebSocket('ws://IP:1234');

    ws.on('open', function() {
            console.log ("WebSocket opened..");
            ws.send('something');
    });
ws.on('message', function(message) {
        console.log('received: %s', message.data);
});

Когда я попытался добраться до этого сервера через браузер ex: http: IP: 1234, я получаю «HTTP-запрос получен ...», который печатается, где, как при попытке с кодом ниже в Node.js, я не вижу, чтобы это сообщение печаталось.

createServer

Когда я попытался подключиться к веб-серверу через
ws = new WebSocket ('ws: // IP: 1234');

почему это не получается через HTTP ?. Мое основное понимание Websocket - это просто обновление поверх HTTP , в этом случае я бы предположил, что WebSocket (), в свою очередь, подключается через HTTP к серверу вправо ?. Или я в замешательстве ?.

javascript,node.js,html5,tcp,websocket,

0

Ответов: 1


0

Запросы Websocket не запускают requestсобытие на экземпляре HTTP-сервера (для которого функция, которой вы передаете, является слушателем).server.on('upgrade', function (req, socket, head) { ... });

Если вы хотите смотреть запросы веб-узлов на HTTP-сервере, слушайте upgradeсобытия:

http

Я предполагаю, что это потому, что httpбудет обрабатывать рукопожатие / само обновление, что это делается через другое событие.

JavaScript, Node.js, html5, ТСР, WebSocket,
Похожие вопросы