Socket.io - 其他客户端未收到已发送的消息

时间:2018-05-24 19:45:02

标签: javascript node.js socket.io

我试图通过socket.io发送邮件,但无法在其他客户端看到该邮件,下面是我的代码。当我在keyup函数中将其记录在控制台中时,我可以看到该文本,但其他客户端从未收到此消息

    var socket = io.connect('http://localhost:3000');



editor.on('keyup', function(){
    var word = { id: 'room', user: 'user', value: editor.getValue()}
    io.sockets.emit('typedCode', word);
    console.log(word.value);
    return false;

});

socket.on('typedCode', function(word) {
    console.log('The server has a message for you: ' + word);
})

这是我收到的错误: enter image description here

2 个答案:

答案 0 :(得分:0)

我无法看到您的整个代码,但请尝试使用下面的代码

var socket = io('http://localhost:3000');

editor.on('keyup', function(){
    var word = { id: 'room', user: 'user', value: editor.getValue()}
    socket.emit('typedCode', word);
    console.log(word.value);
    return false;

});

socket.on('typedCode', function(word) {
    console.log('The server has a message for you: ' + word);
})

答案 1 :(得分:0)

io.sockets是所有连接的默认服务器命名空间。 io.sockets.emit()用于从服务器向所有连接的客户端发射。

在客户端上,要发出,您希望使用实例化的连接:

    socket.emit('typedCode', word);