我正在尝试在NodeJS中学习SocketIo。我正在使用具有相同事件名称的.on和.emit函数,但是服务器看不到客户端发出的传入事件,但是客户端将一些奇怪的数字作为事件数据。
我试图将.on更改为.addListener,但这仍然无法正常工作。
服务器:
const io = require('socket.io');
const server = io.listen(8089);
server.on('connect', socket => {
console.log('New connection!') // this line is working fine!
socket.on('ping', incomingMessage => {
console.log('Incoming message!');
socket.emit('pong', incomingMessage);
});
});
客户代码: 我正在使用来自https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js
的CDNconst server = io('http://127.0.0.1:8089');
server.on('connect', () => {
server.on('pong', message => {
console.log('Incoming message! ', message);
});
server.emit('ping', 'test message');
})
但是我没有在服务器端看到“传入消息”。客户端成功连接到服务器套接字,大约5秒钟后,我收到奇怪的消息,例如: -收到消息! 1个 -收到消息! 3 -收到消息! 4 在Web浏览器控制台中(使用Opera)
答案 0 :(得分:0)
好吧,所以我解决了这个问题:v问题是如果我更改了事件名称,乒乓事件名称已经被socket.io使用了。