2016-04-23 14 views
2

Ich möchte einen WebSocket-Client in meine angular2-Anwendung integrieren.WebSockets in angular2

ich frist versucht, dies mit sock.js https://github.com/sockjs/sockjs-client und erstellt wie dies ein SockJS Objekt zu tun:

export class Core { 

    private sock: any; 

    constructor (private router: Router) { 

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

    } 

} 

Mein Problem ist, dass angular2 nicht in der Lage ist, den SockJS Typ zu erkennen.

Ich habe dann versucht, die Typisierung Definition von https://github.com/retyped/sockjs-client-tsd-ambient/blob/master/sockjs-client.d.ts in meinem Projekt zur Verfügung gestellt, konnte aber nicht wirklich herausfinden, wo und wie Sie die Typisierung einstellen.

Alternativ habe ich versucht https://github.com/afrad/angular2-websocket, die angular2-websocket npm Paket zu verwenden, aber wenn ich dies tun in meiner Anwendung:

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

Meine IDE (Jetbrains WebStorm) sagt mir, dass $ WebSocket mindestens zwei Parameter erwartet.

Da es sehr wenig Informationen über WebSockets in angular2 gibt, habe ich mich entschieden zu fragen, ob mir jemand einen guten und einfachen Weg erklären könnte, einen WebSocket in einem angular2-Projekt einzurichten.

Ich benutze angular2 + webpack und baute mein Projekt auf dieser vorformulierten https://github.com/angular/angular2-seed

Antwort

4

Wie Sie in

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

die anderen Parameter

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

sind optional sehen können Sie vielleicht auch so hat es funktionierende Buchse Winkel Beispiel (mit socket.io)

https://github.com/leonardohjines/auctionApp

+0

Dank glaube, ich mein IDE einige Probleme mit ES6 Funktionalität hat, deshalb wurde der Fehler angezeigt. –

+0

AuktionApp ist ein gutes Beispiel – Ted