首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.io服务器不断获得连接事件,但客户端从未连接

socket.io服务器不断获得连接事件,但客户端从未连接
EN

Stack Overflow用户
提问于 2021-01-19 16:54:17
回答 1查看 42关注 0票数 0

我在一个节点项目中有以下客户端代码

代码语言:javascript
复制
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上运行

代码语言:javascript
复制
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);
})

连接事件在服务器上每隔几秒钟触发一次,但我的客户端拒绝连接。当我停止运行客户端代码时,连接就会停止,所以它正在连接,但客户端没有连接。任何洞察力都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-01-20 15:06:34

尝试下面的代码

客户端

代码语言:javascript
复制
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') })

服务器端

代码语言:javascript
复制
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}`));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65788146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档