所以我使用socket.io来回发送消息。
我想使用套接字来引发事件并在客户端内捕获它们。到目前为止,我已经尝试过(在Chrome控制台即客户端):
socket.on('news', function(data) {
console.log(data);
});
但是,当我运行以下命令时(从我的chrome控制台):
socket.emit(' news',{my:' data'});
我没有收到console.log消息。
有人可以帮助我达到预期的效果吗?
答案 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'
});