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

Sockets 使用Socket.io在客户端上发出和接收消息,sockets,websocket,socket.io,Sockets,Websocket,Socket.io,所以我使用socket.io来回发送消息 我想使用套接字来引发事件,并在客户机本身中捕获它们。到目前为止,我已经尝试过(在chrome控制台即客户端): 但是,当我(从我的chrome控制台)运行以下命令时: emit('news',{my:'data'}) 我没有收到console.log消息 有人能帮我达到想要的效果吗?下面的代码: socket.on('news', function(data) { console.log(data); }); 在服务器应用程序中运行,因此您应该在c

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

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

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

emit('news',{my:'data'})

我没有收到console.log消息

有人能帮我达到想要的效果吗?

下面的代码:

socket.on('news', function(data) {
  console.log(data);
});
在服务器应用程序中运行,因此您应该在
cmd
(窗口)而不是浏览器中看到它们。为了安全起见,硬编码
socket.emit('news',{my:'data'})。如果这样做,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'
});

谢谢我想知道,如何在客户机本身中运行
socket.on
或类似的东西?
socket.on('news',function(data){console.log(data);})socket.emit('news',{val:'val'})
,则code>将在客户端工作。它的工作原理正好相反。然后您应该会在浏览器的控制台中看到一条消息(无论
数据包含什么)。如何让这两条消息都在
客户机
中工作?就像客户机中的pubsub…不,你不能。为什么要这样做?在客户端上引发并侦听自定义事件:)
socket.emit('news', 'hello');

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