使用Socket.io在客户端上发送和接收消息

时间:2014-11-19 09:32:35

标签: sockets websocket socket.io

所以我使用socket.io来回发送消息。

我想使用套接字来引发事件并在客户端内捕获它们。到目前为止,我已经尝试过(在Chrome控制台即客户端):

socket.on('news', function(data) {
  console.log(data);
});

但是,当我运行以下命令时(从我的chrome控制台):

  

socket.emit(' news',{my:' data'});

我没有收到console.log消息。

有人可以帮助我达到预期的效果吗?

1 个答案:

答案 0 :(得分:1)

以下代码:

socket.on('news', function(data) {
  console.log(data);
});

在您的服务器应用程序中运行,因此您应该在cmd(窗口)而不是浏览器中看到它们。只是为了安全硬编码客户端应用程序/脚本中的socket.emit('news', {my: 'data'});,如果您仍然无法在终端中看到日志。如果您这样做,可能无法在window中使用Socket.io。

如果您想提出事件并在客户端内捕获它们,您可以这样做:

服务器:

socket.on('news', function(data){
    var msg = data + 'world';
    socket.emit('news-response', msg);

});

客户端:

socket.emit('news', 'hello');

socket.on('news-response', function(data){
    console.log(data);   //should output 'hello world'
});