如何在typescript websocket上发送消息

时间:2017-04-12 22:57:42

标签: javascript node.js angular 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 个答案:

答案 0 :(得分:1)

我不确定你在问什么。这条线是正确的:

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

如果要继续向所有连接的客户端发送消息,则需要使用属性wsServer.clients向每个连接的客户端发送消息,或者将引用存储到每个连接的客户端(websocket变量in您的代码)在数组中,然后使用forEach()将消息发送到每个客户端。

请看一下此代码示例:https://github.com/Farata/angular2typescript/blob/master/chapter8/http_websocket_samples/server/bids/bid-server.ts