在本地主机上为发送和接收创建两个独立的websocket连接



我是websocket的新手。

它应该使用某个端口(例如:8000)在send-websocket连接上发送数据(任何数据),本地主机应该通过不同的端口(例如9000)使用不同的websocket连接将相同的数据回显到浏览器。

我知道websocket支持单连接上的全双工通信,但以上是要实现的设计。

问题1)上述设计可能吗?问题2)如果是,如何创建到单个localhost websocket服务器的两个websocket连接(一个发送,一个接收)?

1)是。

2) 正在创建两个独立的websocket。不过,它们将是不同的对象。

您可以将两个对象混合在一个复合对象中,如下所示:

var compositeWebSocket = function(urlSend, urlReceive){
    var me = {};
    var wsSend = new WebSocket(urlSend);
    var wsReceive = new WebSocket(urlReceive);
    var open = 0;
    wsSend.onopen = opening;
    wsReceive.onopen = opening;
    var opening = function(){
        if(open == 2){
            if(me.onopen)
                me.onopen();
        }
        else
            open++;
    };
    var closing = funcion(){
        try{wsSend.close();}catch(){}
        try{wsReceive.close();}catch(){}
        if(me.onclose)
            me.onclose();
    }
    me.send = wsSend.send;
    wsReceive.onmessage = function(msg){
        if(me.onmessage)
            me.onmessage(msg);
    }
    return me;
}

(不管怎样,这段代码没有经过测试,它只是一个想法)

相关内容

  • 没有找到相关文章

最新更新