首页 > 多浏览器窗口接收websocket服务器推送消息问

多浏览器窗口接收websocket服务器推送消息问

同一个用户A,分别在浏览器两个窗口分别打开,想B,C两个用户发送消息,现在B和C都能购接受消息,但是B向A发送消息A不能接受到,但是C向A发送消息就可以接受到!A有先后顺序,首先给B发送,然后在给C发送消息!

采用的技术是node.js + websocket

这是B和C发送消息代码:

sendMessage:function(){

        if(this.socket.connected){

            if($("#sendID").val()){
                
                if(content != ''){
                        var obj = {
                            username:this.username,
                            userType:this.userType,
                            userID:$("#userID").val(),
                            sendID: $("#sendID").val(),
                            content: content
                        };
                        var sendMessage = this.socket;
                        $.ajax({
                            type: "GET",
                            async: false,
                            url: ipStr + '/saveMessage',
                            data: obj,
                            dataType: "jsonp",
                            jsonp: "callback",
                            success: function(data, stats){
                                sendMessage.emit('message', obj);
                            }
                        });
                }else{
                    alert("请输入文本的聊天内容!");
                    return false;
                }
                return false;
            }else{
                alert("当前没有任何聊天对象!");
            }
        }else{
            alert("您已经断开连接,请重新打开本窗口!");
        }
    }
    
    

有谁知道任何有关这个问题的思路或者想法可以讲一下么,谢谢了


两个窗口相当于两个客户端


A打开两个窗口,这时并没有建立连接
A分别给B、C发送消息,这时建立连接,不知道你的服务端有没有考虑room的问题,应该是分配两个不同的房间
这样,两个聊天互不影响,也不会断开

【热门文章】
【热门文章】