我需要使用Angular 7创建Ionic Mobile Chat Application。大多数事情都与socketIO和NodeJS一起使用,但是消息会发送给当前连接的所有用户,但是我需要将消息发送给特定用户。列出了用户列表(从数据库中获取所有用户)。该应用程序具有使用Laravel Passport设置的身份验证(除了NodeJS中的聊天功能外,我还使用PHP在Laravel中具有所有其他功能)。
所以在Angular中,我有发送者ID,接收者ID,消息。我已经存储了每个用户单击特定用户时在数据库中保存的每个用户的socket_id,但是当他们与多个用户聊天时会出现问题,因为每次单击主页聊天列表时,套接字ID都会更改。
考虑到我有每个用户的socketid,在他们登录后立即在数据库中为其用户名分配了该用户名,当我使用socket.to('receiver_socketid').emit('eventkey', 'message')
我试图在登录后立即设置socket_id,但是那里也是一个问题。当我尝试socket.emit('eventkey', 'message')
时,虽然会发出此消息,但是会发给所有用户。
我试图连接到socketIO节点服务器,它可以工作。然后,将套接字ID保存在该特定用户的用户表中。作品。我将senderid,receiverid和消息保存在聊天表中。作品。然后,我得到了接收者ID,从用户表中获得了它的套接字ID,它起作用了。但是socket.to()。emit()不会发送消息。
我在哪里出错了?