Node.js Socket.io不';t在连接丢失后重新连接-React Native+;Nodejs

Node.js Socket.io不';t在连接丢失后重新连接-React Native+;Nodejs,node.js,react-native,websocket,socket.io,Node.js,React Native,Websocket,Socket.io,客户端 在react本机客户端,我使用的是socket.io-client版本2.1.1,其中包括socket.io,如下所示: window.navigator.userAgent = 'react-native'; import io from 'socket.io-client/dist/socket.io'; socket = io('MY_SERVER_URL', {jsonp: false}); Mycomponent.js组件如下所示 constructor(props){

客户端

在react本机客户端,我使用的是socket.io-client版本2.1.1,其中包括socket.io,如下所示:

window.navigator.userAgent = 'react-native';
import io from 'socket.io-client/dist/socket.io';
socket = io('MY_SERVER_URL', {jsonp: false});
Mycomponent.js组件如下所示

constructor(props){
  super(props)
  this.state = {}

  socket.on('disconnect', () => {
     socket.connect() // code for reconnecting
     console.log('disconnected...')
  });

  socket.on('someEvent',this.someEventFunction)
}

render(){
  return(
   <Button onPress={socket.emit('someEvent','testData')} title="Event button"/>
  )
}
问题

当连接终止时(我手动终止node.js服务器),它会在Mycomponent.js上触发断开连接事件(即console.log写入“disconnected…”)。但是当我再次打开node.js服务器连接时,客户端和服务器似乎没有连接。(这意味着“someEvent”不再有效)

这就像是socket.connect()不起作用或者我做错了什么

我想要什么

如果连接丢失,我需要客户端一次又一次地尝试重新连接。如果它成功地重新连接,我需要其他事件继续正常工作

我如何解决这个问题

io.on('connection', (socket)=> {

    socket.on('someEvent',(data) => {
      socket.emit(data)     
    })

    socket.on('disconnect', ()=>{
      socket.disconnect();
    })

});