1
我试图发送一个事件到所有套接字,但我有一个错误,我不明白。Socket.io - 错误:socket.packet不是一个函数
的代码非常简单:
io.on('connection', function(socket) {
[...]
socket.on('Security:ImOn', function() {
var id = socket.id.split('#')[1];
io.sockets.emit('Security:IsConnected', id);
});
[...]
});
此事件只是发送一个ID,所有插座,让他们知道,这个新的插座上。
我得到了当系统尝试发出安全错误:IsConnected:
Missing error handler on `socket`.
TypeError: socket.packet is not a function
at D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io-adapter\index.js:143:30
at Encoder.encode (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io-adapter\node_modules\socket.io-parser\index.js:135:5)
at Adapter.broadcast (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io-adapter\index.js:121:16)
at Namespace.emit (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\namespace.js:219:18)
at Socket.<anonymous> (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-security\src\AuthenticationController.js:30:24)
at emitTwo (events.js:100:13)
at Socket.emit (events.js:185:7)
at Socket.onevent (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\socket.js:335:8)
at Socket.onpacket (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\socket.js:295:12)
at Client.ondecoded (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\client.js:193:14
Missing error handler on `socket`.
TypeError: socket.packet is not a function
at D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io-adapter\index.js:143:30
at Encoder.encode (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io-adapter\node_modules\socket.io-parser\index.js:135:5)
at Adapter.broadcast (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io-adapter\index.js:121:16)
at Namespace.emit (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\namespace.js:219:18)
at Socket.<anonymous> (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-security\src\AuthenticationController.js:30:24)
at emitTwo (events.js:100:13)
at Socket.emit (events.js:185:7)
at Socket.onevent (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\socket.js:335:8)
at Socket.onpacket (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\socket.js:295:12)
at Client.ondecoded (D:\Projets\Ecafa\ecafa-server\node_modules\ecafa-socket\node_modules\socket.io\lib\client.js:193:14)
我不明白为什么socket.io拖我这个错误,io.sockets.emit()是在文件中。
有人可以帮助我吗?
Thx提前寻求帮助和建议!
Cafa
也许你在'ecafa安全套接字更改的\ src \ AuthenticationController.js' –
不,AuthenticationController包含IO代码。 – Cafa
你试图发射给所有的客户端,但将1套接口的ID传递给函数,这是正确的吗? – pay