2017-04-12 69 views
0

我有一個角度應用程序需要爲輸入數據訂閱websocket。如何在打字稿websocket上發送消息

在角度方面,在服務我有

setContextChannel(channel) { 
    this.contextWS = new WebSocket(channel); 
    that = this; 
    this.contextWS.onmessage = function(event) { 
     console.log('ws', event.data); 
     that.patientID = event.data; 
    }; 

    this.contextWS.onerror = function(event) { 
     console.log('ws error', event); 
    } 
} 

,並在模擬服務器端,我有一個創建的插座,遵循打字稿節點服務器:

import {Server} from "ws"; 
var wsServer: Server = new Server({port: 8085}); 
console.log('ws on 8085'); 
wsServer.on('connection',websocket => websocket.send('first pushed message'));////// 

我的問題是如何使用wsServer發送消息的?

回答

1

我不確定你在問什麼。此行是正確的:

wsServer.on('connection',websocket => websocket.send('first pushed message')); 

如果你想繼續將消息發送到所有連接的客戶端,你需要或者使用屬性wsServer.clients將消息發送到每個連接的客戶端,或存儲引用的每個連接的客戶端(代碼中的websocket變量),然後使用forEach()將消息發送給每個客戶端。

看看這個代碼示例:https://github.com/Farata/angular2typescript/blob/master/chapter8/http_websocket_samples/server/bids/bid-server.ts

+0

感謝我一直在尋找的是在您的鏈接中列出。 websocket.on('message',是我正在尋找的 – reza

+0

好的,然後請接受答案。 –