【发布时间】:2018-12-23 11:31:07
【问题描述】:
我正在创建一个 socket.io 和 node.js 服务器,它说有很多连接(每隔几分钟)。它正在创建一个新的 id,它可能会干扰使用该 id 的其他代码。
服务器代码:
var express = require('express');
var app = express();
var server = app.listen(3000);
app.use(express.static('public'));
var socket = require('socket.io');
var io = socket(server);
io.sockets.on('connection', newConnection);
function newConnection(socket) {
console.log('new connection', socket.id);
}
在控制台中,运行时:
new connection 12naA3AGFfkjDPdnAAAM
new connection d_UeGFDAhsl401vFAAAN
new connection xBCBtiLMNOVX37-KAAAO
new connection RwmKzrVOGWRYeXNPAAAP
new connection 5NZ9WZ1-_k27brq5AAAQ
new connection QEbPMwPW69RYT15CAAAR
new connection 7qrEvvRYpAF0Yw1dAAAS
new connection -rV1aIgwrnPtZduyAAAT
new connection HUTJO5P1Z-Cg4iAjAAAU
new connection aPXmFpIu029CbUzZAAAV
new connection EkGupV-aaU5ePuCyAAAW
new connection E56CnnEXDryhFPGeAAAX
我根本不刷新页面。如何阻止服务器多次连接?
【问题讨论】:
-
我可能猜到 socket.io 无法检索存储在浏览器中的套接字 id,并且浏览器会反复尝试重新连接。那么您是否尝试过附加 cookie 解析器?
app.use(require('cookie-parser')()) -
我试过了,它说 Error: Cannot find module 'cookie-parser'
-
这是一个包。安装怎么样? (:
npm i --save cookie-parser -
你成功了吗? (:
-
目前看来工作正常。