Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 插座在重新连接后不工作_Javascript_Socket.io - Fatal编程技术网

Javascript 插座在重新连接后不工作

Javascript 插座在重新连接后不工作,javascript,socket.io,Javascript,Socket.io,我正在使用socket io开发web用户之间的聊天。当用户第一次登录并连接到服务器套接字时,使用socket.io('INPUT_MESSAGE',data)事件将发送者电子邮件、接收者电子邮件和消息作为数据时,我没有问题。然后我使用接收方电子邮件获取他的socketId,最后我使用io.sockets.connected[socketId].emit('OUTPUT_MESSAGE')事件将消息发送到相应的接收方。 到目前为止,我认为它工作得很好。但是,当我重置服务器并且当前连接的客户端再次

我正在使用socket io开发web用户之间的聊天。当用户第一次登录并连接到服务器套接字时,使用socket.io('INPUT_MESSAGE',data)事件将发送者电子邮件、接收者电子邮件和消息作为数据时,我没有问题。然后我使用接收方电子邮件获取他的socketId,最后我使用io.sockets.connected[socketId].emit('OUTPUT_MESSAGE')事件将消息发送到相应的接收方。 到目前为止,我认为它工作得很好。但是,当我重置服务器并且当前连接的客户端再次连接时,“OUTPUT_MESSAGE”事件不再起作用。。。有什么想法吗

新客户端连接到套接字时(名称为电子邮件客户端):

收到来自客户端的新消息:

socket.on('INPUT_MESSAGE',  data =>{   
let userSocket ="";  
const { message, user, sender,} = data;

 .....Add the new message to database....

for (let i = 0; i < serverNames.length; i++){
if (serverNames[i].name === user){                        
userSocket=serverNames[i].socketId;                       
io.sockets.connected[userSocket].emit("OUTPUT_MESSAGE_toUSER", data); 
)};
socket.on('INPUT_MESSAGE',data=>{
让userSocket=“”;
const{message,user,sender,}=数据;
..将新消息添加到数据库。。。。
for(设i=0;i
socket.on('INPUT_MESSAGE',  data =>{   
let userSocket ="";  
const { message, user, sender,} = data;

 .....Add the new message to database....

for (let i = 0; i < serverNames.length; i++){
if (serverNames[i].name === user){                        
userSocket=serverNames[i].socketId;                       
io.sockets.connected[userSocket].emit("OUTPUT_MESSAGE_toUSER", data); 
)};