这是正常行为吗? 的 socket.io-1.3.2.js 来自客户:
socket = io.connect('https://socket.myserver.nl');
socket.on('connect', function() {
socket.emit('register', userID, 'Lobby');//ignore this
});
在服务器节点版本v5.2.0 :
io.sockets.on('connection', function (socket) {
console.log('SOCKET CONNECTING '+socket.id);
////lots of other code//////////
socket.on('disconnect', function() {
console.log('SOCKET DISCONNECTING '+socket.id);
});
});
在测试期间,当我与客户端与服务器建立单一连接并进一步做任何事情时,我得到以下内容(约5分钟):
SOCKET CONNECTING SddHIXmWSeHEfDnlAAAC
SOCKET断开连接SddHIXmWSeHEfDnlAAAC
SOCKET CONNECTING o0zj7GE1tlO3RQw1AAAD
SOCKET断开连接o0zj7GE1tlO3RQw1AAAD
SOCKET CONNECTING lAnfvaF3DXMyhc6lAAAE
SOCKET断开连接lAnfvaF3DXMyhc6lAAAE
SOCKET CONNECTING tP3cjtJ-VpPPjoG2AAAF
SOCKET断开连接tP3cjtJ-VpPPjoG2AAAF
SOCKET连接a2o13T7CgcKDEbppAAAG
SOCKET断开a2o13T7CgcKDEbppAAAG
SOCKET CONNECTING avogGTh0KVtLFOqNAAAH
SOCKET断开连接avogGTh0KVtLFOqNAAAH
SOCKET连接usoQGxKAMsth2zTcAAAI
SOCKET断开连接usoQGxKAMsth2zTcAAAI
答案 0 :(得分:2)
如果你使用 React、Vue 或类似的东西
在 src 中创建另一个 js 文件并键入这些行以连接 socket.Export socket.id 和 socket。因为您需要在动态渲染组件之外运行 socket.io。
import { io } from 'socket.io-client';
export const socket = io('http://localhost:5000');
export let socketID = '';
socket.on('connect', () => {
socketID = socket.id
})
在 React 组件中,您可以导入它们。
import { socketID, socket } from './socket';