socket客户端接收不到服务器端传来的数据?
服务器端
io.on('connection', function(socket){
socket.emit('news', { hello: 'world' });
});
客户端
socket.on('news', function (data) {
console.log('news data',data);
});
并没有报错😭,写法有问题吗?我查了好多资料都没解决,求救!
6 回复
官网上的例子也是, 服务器端:
io.on('connection', function (socket) {
socket.emit('news', {hello: 'world'});
socket.on('my other event', function (data) {
console.log(data);
});
})
客户端:
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
客户端的console.log(data)什么也没有打印啊!
服务器端改成io.sockets.on(‘connection’, function (socket)试试
io.scoket是怎么处理离线消息的 比如用户网络中断一会,然后过几分种又连上了
@dlyt 我改了,还是不行😭
@mengLLLL 那就把代码贴全一点吧
@dlyt 解决了,然后有个新问题想请教一下,“私聊”的功能 服务器端
io.on('connection', function (socket) {
socket.on('sendNotificationJoinTeam', function (from, to) {
console.log('sendNotificationJoinTeam', from ,'to', to)
user.find({userId: to}, function (err, results) {
if(err){
return console.error(err)
}
var obj = {};
obj[results[0].userId] = socket;
obj[results[0].userId].emit('to'+to,{hello:'haha'})
})
});
});
客户端
socket.on('to'+ $('#userId').val(), function (data) {
alert('receive')
});
console.log('sendNotificationJoinTeam', from ,'to', to)
这里是有反应的,前端没有任何反应,请问这是为什么?