[英]WebSocket not reconnect if disconnect/connect Web socket receptively
在我的应用程序中,当用户登录时,我创建了带有会话 ID 的 webSocket 连接。 并在注销后套接字将关闭。 这工作正常。 但是,如果我注销并在杀死应用程序之前再次使用相同帐户或不同帐户登录 webSocket 抛出错误现在received bad response code from server 503
, 如果注销后杀死应用程序并使用初始渲染和用户登录套接字打开应用程序将连接没有任何错误。 我的套接字代码如下。 在这方面的任何帮助将不胜感激。
import React, {Component} from 'react';
import {connect} from 'react-redux';
class SocketController extends React.PureComponent {
state = {
socket: null
}
closeSocket() {
this
.state
.socket
.close();
this.setState({socket: null})
}
componentDidUpdate() {
if (this.props.user && this.props.user.sessionId) {
this.connectSocket();
} else {
this.closeSocket()
}
}
connectSocket() {
let url = 'ws://localhost/socket';
this.setState({
socket: new WebSocket(url, '', {
headers: {
Cookie: this.props.user.sessionId
}
})
}, () => {
this.state.socket.onerror = (e) => {
console.log(e.message);
}
this.state.socket.onclose = () => {}
this.state.socket.onopen = (e) => {}
this.state.socket.onmessage = (event) => {}
});
}
render() {
return null
}
}
const mapStateToProps = ({user}) => ({user});
export default connect(mapStateToProps)(SocketController);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.