我在一个节点项目中有以下客户端代码
const openSocket = require('socket.io-client');
const socket = openSocket('http://localhost:2345');
console.log(socket.connected,socket.id)
socket.on('connect', function () { console.log('connect') });
socket.on('event', function (data) { console.log('event') });
socket.on('error', function (error) { console.log('error') });
socket.on('disconnect', function () { console.log('disconnect') });
socket.on('connection', (socket) => { console.log('connection') })
socket.on('fdaTrigger', (data) => { console.log('fdaTrigger') })在服务器端,我让socket.io在端口2345上运行
const io = require('socket.io')(server, {
perMessageDeflate: false,
pingInterval: 10000,
pingTimeout: 5000,
});
var debug = require('debug')('socket.io');
var assetCounter = -1;
io.on('connection', function (socket) {
assetCounter = -1;
debug('Started');
console.log('Got a connection', socket.connected, socket.id);
})连接事件在服务器上每隔几秒钟触发一次,但我的客户端拒绝连接。当我停止运行客户端代码时,连接就会停止,所以它正在连接,但客户端没有连接。任何洞察力都将不胜感激。
发布于 2021-01-20 15:06:34
尝试下面的代码
客户端
const openSocket = require('socket.io-client');
const socket = openSocket('http://localhost:2345', {transports: ['websocket']});
setTimeout(() => {
console.log(socket.connected,socket.id)
}, 100)
socket.on('connect', function () { console.log('connect') });
socket.on('event', function (data) { console.log('event') });
socket.on('error', function (error) { console.log('error') });
socket.on('disconnect', function () { console.log('disconnect') });
socket.on('connection', (socket) => { console.log('connection') })
socket.on('fdaTrigger', (data) => { console.log('fdaTrigger') })服务器端
const server = require("http").createServer(app);
const io = require('socket.io')(server, {
perMessageDeflate: false,
pingInterval: 10000,
pingTimeout: 5000,
});
var debug = require('debug')('socket.io');
var assetCounter = -1;
io.on('connection', function (socket) {
assetCounter = -1;
debug('Started');
console.log('Got a connection', socket.connected, socket.id);
})
const port = 2345;
server.listen(port, () => console.log(`Listening on port ${port}`));https://stackoverflow.com/questions/65788146
复制相似问题