如果用户是从其他设备登录的,则socket.io仅会向首先登录的设备用户生成事件。此外,服务器端代码对于Web应用程序运行正常(除了上述问题),但{{ 1}}不适用于Android应用,即使socket.to(friend.receiver).emit('newRequest',{})
已成功登录。
这是服务器端的代码:
friend.receiver
这是客户端代码
module.exports=function(io){
io.on('connection',(socket)=>{
console.log(socket.id)
socket.on('joinRequest',(myRequest,callback)=>{
console.log('server side join')
socket.join(myRequest.sender);
socket.join(myRequest.receiver);
callback();
});
socket.on('friendRequest',(friend,callback)=>{
console.log('Server check!');
console.log('sender check:',friend.sender);
console.log('receiver check:',friend.receiver);
socket.to(friend.receiver).emit('newRequest',{
from:friend.sender,
to:friend.receiver
}
);
io.emit('refresh', {});
console.log('new friend request sent');
callback();
});});}