Поэтому я пытаюсь настроить веб-сайт, который также имеет веб-сокеты, где http-сервер и веб-сокет прослушивают один и тот же порт:
const WebSocket = require('ws');
var express = require('express');
var app = express();
wss = new WebSocket.Server({server : app});
app.get('/', function(req, res){
res.send('hello world!');
});
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('some text');
});
app.listen(8080, function(){
console.log('app started');
});
Если я затем загружаю веб-сайт серверов в chrome-браузер меня приветствует "привет мир!"Все идет нормально.Но если я открываю веб-консоль и пытаюсь подключиться с помощью
var exampleSocket = new WebSocket("ws://192.10.10.30:8080");
, я получаю следующее сообщение об ошибке:
Соединение WebSocket с 'ws: //192.10.10.30: 8080 /'fail: Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 200
Сначала я подумал: нужно ли явно объявить http-сервер?
Но я прочитал этот пост Служите WebSocket и HTTP-серверу по одному адресу на Node.js , и http-сервер явно не был объявлен.Пожалуйста помоги мне с этим.