博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SignalR 行实时通信最大连接数
阅读量:4541 次
发布时间:2019-06-08

本文共 999 字,大约阅读时间需要 3 分钟。

SignalR 搭建实时刷新应用虽然非常方便,但是有个问题你必须考虑到,就是一般的浏览器,对于SignalR的全双工通信方式,绝大多数浏览器都只支持6个新窗口,如果你打开第7个,那么新的框口页面是不会加载的。

这其实是客户端浏览器的限制,这是以连接的域名为单位来限制, 如果是最新版本的IE似乎没有这个限制,但是其他浏览器似乎都会存在,可以查看  查看具体情况。

如果你使用WebSockets的传输方式是不会有这个限制,如果有限制就证明你不是使用的WebSockets传输方式,但是WebSockets传输服务器需要一定的限制,关于限制你可以查看。

对于用户你永远都不会知道是否会打开多余6个的浏览器窗口,对于这种情况只有下面几个解决方法:

  1. 不管这个问题,当然这会带来一定几率的用户体验。
  2. 选择合适的传输方式,解决SignalR连接数的限制,比如使用WebSockets传输方法。
  3. 使用其他第三方商家的解决方案。
  4. 观察用户浏览器窗口的打开数目

    • 限制连接数
    • 监控激活的连接
  5. 通过使用多用域名来绕过这个问题,因为的6个连接的限制是针对每个域名。

SignalR 站点浏览器连接数限制分析及解决方案

我们来分析下解决方案

不管SignalR连接数限制

你需要思考的是谁会打开6个以上的浏览器框口?如果是一个聊天室应用或者单页面应用完全就可以忽略SignalR连接数限制。

选择合适的传输方式

只有使用WebSockets的传输方式才不会有连接数的限制,即时是在老的浏览器也不会造成浏览器崩溃的情况。

使用第三方专业方案解决SignalR连接数限制

使用一些第三方专业的解决即时通信的问题,比如可以使用 http://www.lightstreamer.com/。这个连接最大可以支持到2000万个

通过使用多个域名解决SignalR连接数限制

SignalR浏览器的连接限制只是针对一个域名,所以我们可以通过域名来解决:

  • 使用另外的域名(你需要解决跨站请求伪造)。
  • 使用二级域名(如果你的网站的是HTTPS请求,最好使用泛域名SSL证书)。

以上就是SignalR 站点浏览器连接数限制分析及解决方案,你需要针对你的实际情况选择合适的方法来解决。

 

来自https://www.zhidao91.com/signalr-connect-limit/ 

转载于:https://www.cnblogs.com/muzishisan/p/10112234.html

你可能感兴趣的文章
多项式累加
查看>>
剑指offer(18)二叉搜索树的后续遍历
查看>>
微信小程序一笔记账开发进度四
查看>>
bzoj 1070 费用流
查看>>
201671010139 徐楠 第四周总结
查看>>
JAVA链表简单实现
查看>>
[转载]T-SQL(MSSQL)语句查询执行顺序
查看>>
SignalR 行实时通信最大连接数
查看>>
开发进度6
查看>>
php方法重载
查看>>
三次握手和四次挥手(二)
查看>>
MySQL中的索引
查看>>
Android开发之手势滑动(滑动手势监听)详解
查看>>
switch
查看>>
HTTP错误code大全
查看>>
PAT Advanced Level 1043
查看>>
决策树基础
查看>>
献给程序员之如何与陌生人交谈
查看>>
C++重载运算符练习--对people类重载“= =”运算符和“=”运算符
查看>>
Nmap命令的实用范例
查看>>