javascript - ie11 websocket连接建立时报SecurityError问题
PHP中文网
PHP中文网 2017-04-10 14:35:53
[JavaScript讨论组]

这段代码在chrome和firefox下是没有问题的,但是换成ie11之后,在for循环那块,前6个次都成功了,但是从第7次到第10次全都失败了,new WebSocket返回异常SecurityError

    function Socket(wsUrl){
        try {
            this._connect(wsUrl);
        } catch (e) {
            console.warn(e);
            try {
                this._connect(wsUrl);
            } catch (e) {
                console.error(e);
            }
        }
    }

    Socket.prototype = {
        _connect: function(wsUrl) {
            if("WebSocket" in window){
                this.io = new WebSocket(wsUrl);
            }else if("MozWebSocket" in window){
                this.io = new MozWebSocket(wsUrl);
            }
            if (this.io) {
                this.io.binaryType = "arraybuffer";// talking binary
                this._addEvent();
            }
        },
        _addEvent : function() {
            this.io.onopen = function() {
                console.log("WebSocket connection opened!");
            };
            this.io.onclose = function(){
                console.log("WebSocket closed!");
            };
            this.io.onerror = function(evt){
                console.log(evt.toLocaleString());
            };
        }
    };
    var lserver = 'websocket服务器域名';
    for(var i=0;i<10;i++) {
        setTimeout(function(){
            var socket = new Socket('ws://'+lserver+':8110/ws/conn');
        },i*1000);
    }
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
天蓬老师

IE10/11限制了到单个服务器最大并发websocket的数量,这个数字的缺省值是6,所以当你创建第7个websocket连接时就会报SecurityError。
这个数字可以在注册表里改,具体信息在这里
不过话说回来,什么应用需要同时建立这么多WebSocket连接泥?

PHP中文网

修改了注册表,重启后仍让不生效啊。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号