【发布时间】:2017-05-22 03:21:37
【问题描述】:
我正在尝试使用 Socket.IO 和 Express 为 WebRTC 构建一个简单的信令服务器。我以前从未使用过 Express 或 Socket.IO,所以我想我只是通过几个示例(使用 ES6)。毫不奇怪,我在连接服务器时遇到了麻烦。任何人都可以建议吗?这是我的非常基本的服务器,直接来自文档,使用https://github.com/riebel/socketio-es6-starter 作为指南修改为 ES6。
import http from 'http';
import express from 'express'
import SocketIO from 'socket.io'
let app = express();
let server = http.Server(app);
let io = new SocketIO(server);
app.get('/', (req, res) =>{
res.send('hi');
});
io.on('connection', (socket) => {
"use strict";
socket.emit('news', {hello: 'world'});
socket.on('my other event', (data) => {
console.log(data)
})
});
server.listen(80, () => {
"use strict";
console.log('Listening on port 80');
});
我正在使用来自 npm 的 wscat 实用程序,每次尝试连接时,我都会得到以下信息:
我尝试过使用 DEBUG 环境变量,但它似乎没有多大作用。我还尝试按照最后一行执行 ws://localhost:80/socket.io ,但没有成功:
【问题讨论】:
-
socket.io 是 webSocket 之上的附加层。您无法连接 webSocket -> socket.io,反之亦然。您需要一个 socket.io 客户端来连接到 socket.io 服务器。
标签: node.js sockets socket.io ecmascript-6