Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Socket.io-其他客户端未接收到发出的消息_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript Socket.io-其他客户端未接收到发出的消息

Javascript Socket.io-其他客户端未接收到发出的消息,javascript,node.js,socket.io,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.soc

我试图通过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);
})
这是我收到的错误:

我看不到您的全部代码,但请使用下面的代码进行尝试

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);
})

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

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

    socket.emit('typedCode', word);

你的控制台中有错误吗?@Jer我已经用我收到的错误更新了帖子。我看到的是客户端上有一个套接字发射器,服务器上有一个接收器,你没有向客户端发回信号,也没有客户端接收器,如果您想在所有其他连接的客户端上看到消息,您需要进行广播。这是我最初的做法,它不起作用,并且不会在logssocket.emit发送回服务器时显示任何错误。您将需要在服务器端处理该事件,并对其进行处理,以便再次将其发送回客户端。这可能就是没有错误的原因。socket.emit是正确的,但是处理程序代码也在客户端,当它需要移动到服务器时。socket.emit在我的情况下不起作用。它在日志上也没有显示错误。所以,请注意,我在客户端执行此操作,如果我从服务器端发出,它工作正常。我看不到服务器端的cod,我有一个简单的应用程序是在socket.io上制作的,它在这里可用,你可以在heroku上找到实时版本。我希望有帮助。