【发布时间】:2026-02-03 22:55:02
【问题描述】:
我在我的 NodeJS 应用程序上添加了 Socket.IO(顺便说一句,我是新手),当我在 Chrome 上按 F5 刷新网页时,会根据我的服务器日志创建一个新的套接字:
用户已连接 SWpG6Fv9mjmMoLZRAAAA
用户已断开连接 SWpG6Fv9mjmMoLZRAAAA
用户已连接 gvtxcnJR6sC4DW7CAAAB
用户已连接 gvtxcnJR6sC4DW7CAAAB
用户断开连接 gvtxcnJR6sC4DW7CAAAB
用户断开连接 gvtxcnJR6sC4DW7CAAAB
用户连接 pWPjZbVV_-lnVL4RAAAC
用户连接 pWPjZbVV_-lnVL4RAAAC
用户连接 pWPjZbVV_-lnVL4RAAAC
用户断开连接 pWPjZbVV_-lnVL4RAAAC
用户断开连接 pWPjZbVV_-lnVL4RAAAC
用户断开连接 pWPjZbVV_-lnVL4RAAAC
用户已连接 sP7lJaRrH6Hrevp7AAAD
用户已连接 sP7lJaRrH6Hrevp7AAAD
用户已连接 sP7lJaRrH6Hrevp7AAAD
用户已连接 sP7lJaRrH6Hrevp7AAAD
用户已断开连接 sP7lJaRrH6Hrevp7AAAD
用户已断开连接 sP7lJaRrH6Hrevp7AAAD
用户已断开连接 sP7lJaRrH6Hrevp7AAAD
用户已断开连接 sP7lJaRrH6Hrevp7AAAD
用户连接 -86W-itTDwrsyeVGAAAE
用户连接 -86W-itTDwrsyeVGAAAE
用户连接 -86W-itTDwrsyeVGAAAE
用户连接 -86W-itTDwrsyeVGAAAE
用户连接 -86W-itTDwrsyeVGAAAE
关于为什么会发生这种情况的任何想法?
这是我的代码:
index.js:
"use strict";
const express = require('express');
const app = express();
const http = require('http').Server(app);
const socket = require('socket.io')(http);
const opn = require('opn');
const login = require('./scripts/login.js');
const main = require('./scripts/main.js')(socket);
const init = require('./scripts/init.js');
const config = require('./scripts/config.js');
app.use(express.static('public'));
app.set('view engine', 'ejs');
http.listen(3000, function () {
console.log('==> Servidor iniciado -- Puerto 3000');
});
opn('http://localhost:3000');
app.use('/', main);
main.js
"use strict";
const express = require('express');
const router = express.Router();
const main = function (socket) {
// Home page route.
router.get('/', function (req, res) {
socket.on('connection', function (socket) {
console.log('user connected ' + socket.id);
socket.on('disconnect', function () {
console.log('user disconnected ' + socket.id);
});
});
res.render('main', {
page_name: 'main'
});
});
return router;
};
module.exports = main;
index.html
<script src="/socket.io/socket.io.js" charset="utf-8"></script>
<script>
var socket = io();
socket.on('connect', function (data) {
console.log('connected');
});
</script>
【问题讨论】: