在 Angular2 应用程序中使用 angular2-websocket 关闭 websocket 连接时,如何重新连接它?
Posted
技术标签:
【中文标题】在 Angular2 应用程序中使用 angular2-websocket 关闭 websocket 连接时,如何重新连接它?【英文标题】:How can i reconnect websocket connection when it is closed using angular2-websocket in Angular2 Application? 【发布时间】:2017-01-24 10:31:56 【问题描述】:我是 angular2 框架的新手。我使用 angular2-websocket 插件在我的项目中使用 websockets。我的情况是,如果一旦套接字连接关闭,则在服务器端打开套接字时它不会重新连接。我怎么能用angular2-websocket来做到这一点?我的套接字打开后如何重新连接??
这是我的 app.component.ts 代码 sn-p
import Component, OnInit from '@angular/core';
import $WebSocket, WebSocketSendMode from 'angular2-websocket/angular2-websocket';
import WebsocketService from '../../../services/websocket.service';
@Component(
selector: 'app-init',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
)
export class AppComponent implements OnInit
constructor(private websocket:WebsocketService)
ngOnInit()
this.fnGraphInit("ws://10.1.40.117:5555");
fnGraphInit(url)
let ws = new $WebSocket(url);
ws.getDataStream().subscribe(
(msg) =>
console.log(msg.data);
(msg) =>
console.log("error", msg);
,
() =>
console.log("complete");
);
请帮我解决这个问题。
【问题讨论】:
【参考方案1】:尝试使用 WebSocketConfig:
const webSocketConfig = reconnectIfNotNormalClose: true as WebSocketConfig;
this.ws = new $WebSocket(url, null, webSocketConfig);
【讨论】:
以上是关于在 Angular2 应用程序中使用 angular2-websocket 关闭 websocket 连接时,如何重新连接它?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Nginx 为 Angular2 CLI 构建的应用程序提供服务会抛出 404、403
错误:angular2 中没有 HttpHandler 的提供者
在 typescript / angular2 环境和后端的 nodejs 中设置持久会话时遇到问题