angular2中的WebSockets

时间:2016-04-23 15:05:09

标签: javascript websocket angular

我想将WebSocket客户端集成到我的angular2应用程序中。

我试图使用sock.js https://github.com/sockjs/sockjs-client尝试这样做 并创建了一个像这样的SockJS对象:

export class Core {

  private sock: any;

  constructor (private router: Router) {

    this.sock = new SockJS(AppSettings.WEBSOCK_ENDPOINT);

  }

}

我的问题是angular2无法识别SockJS类型。

然后我尝试在我的项目中使用https://github.com/retyped/sockjs-client-tsd-ambient/blob/master/sockjs-client.d.ts提供的打字定义,但无法确定在何处以及如何设置打字。

或者我尝试使用angular2-websocket npm包https://github.com/afrad/angular2-websocket,但是当我在我的应用程序中执行此操作时:

import {$WebSocket} from 'angular2-websocket/angular2-websocket'
var ws = new $WebSocket("url");

我的IDE(Jetbrains WebStorm)告诉我$ WebSocket至少需要2个参数。

由于目前在angular2中关于WebSockets的信息非常少,我决定询问是否有人可以在angular2项目中解释一个设置WebSocket的好方法。

我使用angular2 + webpack并在此样板https://github.com/angular/angular2-seed

上构建我的项目

2 个答案:

答案 0 :(得分:4)

正如您在

中看到的那样

https://github.com/afrad/angular2-websocket/blob/master/src/angular2-websocket.ts

其他参数是可选的

constructor(private url:string, private protocols?:Array<string>, private config?: WebSocketConfig  ) {

你可能也喜欢这个有工作套接字角度的例子(使用socket.io)

https://github.com/leonardohjines/auctionApp

答案 1 :(得分:0)

我也可以为angular2中的websockets推荐这个实现: https://github.com/Sinthor/WSM