【发布时间】:2019-04-28 08:52:24
【问题描述】:
所以我正在尝试建立一个网站,该网站也有 websocket,其中 http-server 和 websocket 都在同一个端口上侦听:
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 浏览器中加载服务器网站,我会收到“hello world!”的问候。到目前为止,一切都很好。但是如果我打开网络控制台并尝试连接
var exampleSocket = new WebSocket("ws://192.10.10.30:8080");
我收到以下错误消息:
到“ws://192.10.10.30:8080/”的 WebSocket 连接失败:错误 在 WebSocket 握手期间:意外的响应代码:200
我的第一个想法是,我必须明确声明一个 http-server 吗?
但我读了这篇文章 Serve WebSocket and HTTP server at same address on Node.js 并且没有明确声明 http-server。请帮助我。
【问题讨论】:
标签: javascript node.js express websocket