Node.js 服务器启动时如何在express中使用socket.io?
我尝试在app.js中添加以下内容:Node.js 服务器启动时如何在express中使用socket.io?,node.js,express,socket.io,Node.js,Express,Socket.io,我尝试在app.js中添加以下内容: const server = require('http').Server(app); const io = require('socket.io')(server); io.on('connection', (socket) => { console.log('a user connected'); socket.on("disconnect", () => { console.log("a user go out");
const server = require('http').Server(app);
const io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('a user connected');
socket.on("disconnect", () => {
console.log("a user go out");
});
});
server.listen(3001);
…并使用以下各项进行测试:
import websocket
print("Sensor:Initializing")
ws = websocket.create_connection("ws://127.0.0.1:3001/")
print("Sending 'Hello, World'...")
ws.send("Hello, World")
print("Sent")
但它返回:
websocket.\u异常。WebSocketConnectionClosedException:连接已关闭。
我应该如何修复它?您的套接字服务器配置正确。
问题在于您的测试脚本。
Websocket客户端与套接字io服务器不兼容。
使用socket io客户端进行测试
您正在客户端上使用
websocket
连接到socket.io
电源连接。请注意,虽然socket.io
在可能的情况下使用websocket
传输,但它们非常不同,一个不会连接到另一个。您需要为所使用的语言找到一个socket.io
实现。看一看:(其他客户端实现)
import io from 'socket.io-client';