Node.js Socket.io不';t在连接丢失后重新连接-React Native+;Nodejs
客户端 在react本机客户端,我使用的是socket.io-client版本2.1.1,其中包括socket.io,如下所示: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){
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();
})
});