Ich versuche, ein Ereignis an alle Sockets zu emittieren, aber ich habe einen Fehler, den ich nicht verstehe.Socket.io - Fehler: socket.packet ist keine Funktion
Der Code ist ganz einfach:
io.on('connection', function(socket) {
[...]
socket.on('Security:ImOn', function() {
var id = socket.id.split('#')[1];
io.sockets.emit('Security:IsConnected', id);
});
[...]
});
Dieses Ereignis nur eine ID für alle Socket senden, damit sie wissen, dass diese neue Buchse eingeschaltet ist.
Der Fehler, den ich bekam, wenn das System versuchen, Sicherheit auszustrahlen: 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)
Ich verstehe nicht, warum mir diesen Fehler socket.io ziehen, io.sockets.emit() ist in der Dokumentation .
Kann mir jemand helfen?
Danke im Voraus für Hilfe und Beratung!
Cafa
Vielleicht Sie Steckdose in 'ecafa-Sicherheit ändern \ src \ AuthenticationController.js' –
Nö, enthalten AuthenticationController den io-Code. – Cafa
Sie versuchen, an alle Clients zu senden, aber die ID von 1 Socket an die Funktion übergeben, ist das richtig? – pay