当我执行“ socket.leave('room')”并重新连接到房间时,消息重复。
据我所知,问题可能出在ID上。因为每次调用都会收到一个新的套接字ID。
已测试:
-如果数据包含房间。
-如果房间格式是字符串。
-如果两次通话的房间长度相同。
SERVER:
socket.on('SaindoConversa', (data) => {
socket.leave(data.room);
});
CLIENT:
useEffect(() => {
return () => {
socket.emit('SaindoConversa', { room: navigation.getParam('idConversa') });
}
}, []);
我希望使用“ leave”方法,实际上是将插座从房间中移出。