[英]socket.io server keeps getting connection event but client side never connects
I have the following code for client side in a node project我在节点项目中有以下客户端代码
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') })
On the server side, I have socket.io running on port 2345在服务器端,我在端口 2345 上运行 socket.io
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);
})
The connection event is fired every few seconds on server but my client refuses to connect.服务器上每隔几秒就会触发一次连接事件,但我的客户端拒绝连接。 When I stop running the client code, the connections stop, so it's connecting but client side does not connect.
当我停止运行客户端代码时,连接停止,所以它正在连接但客户端没有连接。 Any insight would be appreciated.
任何见解将不胜感激。
Try Below Code试试下面的代码
Client Side客户端
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') })
Server Side服务器端
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}`));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.