我找到了RxJS WebSocketSubject自动重新连接的各种解决方案,但没有一个对我有效。
在我的RxJS 6.5/Angular Code中,有一个connectToWebsocket()
函数,在启动时执行一次,包含以下内容:
const openObserver: NextObserver<Event> = {
next: () => console.debug('[Websocket] Connected')
};
const closeObserver: NextObserver<CloseEvent> = {
next: () => console.debug('[Websocket] Disconnected')
};
// Connect to WebSocket Server
this.websocketConnection= new WebSocketSubject({
url: "ws://localhost:4000",
deserializer: e => e.data,
openObserver,
closeObserver
});
创建主题后,我订阅了它:
this.websocketConnection.subscribe((msg) => {
this.data = msg;
},
(err) => {
console.log("Error on on connection", err);
},
() => {
console.log("Connection closed");
});
所以现在,如果最初或在连接时,连接在任何情况下都是关闭的。如何重新连接到websocket服务器?我需要自己写一个重连接策略吗?或者RxJS中已经有了?
先谢谢你了!
1条答案
按热度按时间zphenhs41#
这里是用于Web套接字支持的Angular Service。产品特点:
this.connect(jobId, { reconnect: true });
-重新连接:true是您正在寻找的选项