Sockets 使用Socket.io在客户端上发出和接收消息
所以我使用socket.io来回发送消息 我想使用套接字来引发事件,并在客户机本身中捕获它们。到目前为止,我已经尝试过(在chrome控制台即客户端): 但是,当我(从我的chrome控制台)运行以下命令时: emit('news',{my:'data'}) 我没有收到console.log消息 有人能帮我达到想要的效果吗?下面的代码: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.on('news', function(data) {
console.log(data);
});
在服务器应用程序中运行,因此您应该在cmd
(窗口)而不是浏览器中看到它们。为了安全起见,硬编码socket.emit('news',{my:'data'})如果您仍然无法在终端中看到日志,请在客户端应用程序/脚本中使用code>。如果这样做,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'
});