IIS 对websocket长连接数有限制吗?

fengliu2012 2016-02-21 01:32:44
我写了个网站,.net的,一个页面用到了Websocket,实时聊天那种,部署到IIS运行时,只要打开2个这个页面,然后整个网站就都锁死了,新打开的页面都一直在加载中,只要把那2个已经打开的页面关闭,新页面立刻就刷出来了!把vs附加到IIS进程调试时,打开第三个新页面,程序根本就不会进入我的代码,也就是请求被IIS截住了!
如果把这个页面中的长连接部分去除,那么无论打开多少这个页面,都不会导致整个站点锁定!
在vs2013中调试时没有这个情况!
...全文
2489 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gangAndgang 2020-03-12
  • 打赏
  • 举报
回复
引用 12 楼 ajingmiao 的回复:
[quote=引用 9 楼 wq8438 的回复:]
[quote=引用 3 楼 sp1234 的回复:]
你应该检查一下(调试一下)你的 http 通讯,看看有没有异常巨大的消息。在websocket 通讯时,你的 http 通讯应该是“不动的”。

asp.net 之前应该是弄了一个“伪websocket”,也就是说它会自动地使用 http 长连接来模拟 websocket,而不是真正 websocket。不知道你是否使用了过时的、伪 websocket 功能的 asp.net。

你是我在csdn里面看到的最活跃的用户。。。。[/quote]

也是我见到 最傻b的 各种花式回答。。[/quote]

也是我见过的,只会嘴炮装B,从不解决问题的人
zouyu01 2020-03-12
  • 打赏
  • 举报
回复
发现是老贴:(
zouyu01 2020-03-12
  • 打赏
  • 举报
回复
别非要强迫症去去管那个IIS的发布,我们就是直接一个exe就搞定了。 SP大神说的方向基本没差的,web开发和websocket协议两者没啥密切关系,不需要iis websocket一样运行。
派大奇 2020-03-12
  • 打赏
  • 举报
回复
引用 13 楼 by_封爱 的回复:
iis里的websocket的确有很多问题 基本上 也没有人实际应用... 而且写到什么网页里 我也没见过有人这么干过. 不会写winservice 最起码的 你写一个exe 也行啊.. 网上一大堆类库 几句话就搞定3个事件... 或者找一个tcp服务的dll 在看下websocket协议 兼容一下... 这种东西很多的. 我觉得你先从这地方下手 比较合适. 而不是去研究什么iis上的websocket..
以前单位的 技术经理 在 socket 上非常弱 一直都没有突破 就成了他内心的一块阴影了 只要一到开发关于通讯的功能他总想 绕开socket 寻找其他方式 包括 websocket 之类的 那会 真是笑死我了......... 后来我离职了
by_封爱 版主 2020-02-19
  • 打赏
  • 举报
回复
iis里的websocket的确有很多问题 基本上 也没有人实际应用... 而且写到什么网页里 我也没见过有人这么干过. 不会写winservice 最起码的 你写一个exe 也行啊.. 网上一大堆类库 几句话就搞定3个事件... 或者找一个tcp服务的dll 在看下websocket协议 兼容一下... 这种东西很多的. 我觉得你先从这地方下手 比较合适. 而不是去研究什么iis上的websocket..
ajingmiao 2020-02-18
  • 打赏
  • 举报
回复
引用 9 楼 wq8438 的回复:
[quote=引用 3 楼 sp1234 的回复:] 你应该检查一下(调试一下)你的 http 通讯,看看有没有异常巨大的消息。在websocket 通讯时,你的 http 通讯应该是“不动的”。 asp.net 之前应该是弄了一个“伪websocket”,也就是说它会自动地使用 http 长连接来模拟 websocket,而不是真正 websocket。不知道你是否使用了过时的、伪 websocket 功能的 asp.net。
你是我在csdn里面看到的最活跃的用户。。。。[/quote] 也是我见到 最傻b的 各种花式回答。。
w_hair 2017-03-21
  • 打赏
  • 举报
回复
楼猪问题解决了吗?我也遇到这个问题……当前建立链接页多刷新个5、6次……iis的cpu占用率就直线上升打不开页面了……
backbone 2016-08-22
  • 打赏
  • 举报
回复
.NET下的websockt 需要IIS8以上才行! IE浏览器默认连接数8个左右,其他浏览器无限制。我做的基于websocket云客服已经上线。有问题,可以交流!
wq8438 2016-08-19
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
你应该检查一下(调试一下)你的 http 通讯,看看有没有异常巨大的消息。在websocket 通讯时,你的 http 通讯应该是“不动的”。 asp.net 之前应该是弄了一个“伪websocket”,也就是说它会自动地使用 http 长连接来模拟 websocket,而不是真正 websocket。不知道你是否使用了过时的、伪 websocket 功能的 asp.net。
你是我在csdn里面看到的最活跃的用户。。。。
tboger 2016-03-25
  • 打赏
  • 举报
回复
问题解决了吗? 我也遇到和你一样的问题了,Websocket部署在iis里面,多访问几次就网站锁死了。
fengliu2012 2016-02-21
  • 打赏
  • 举报
回复
看了sp1234的回复,我弄了个纯粹只有一个html页面,一个ashx页面的项目,就是避免上面说的本身代码有问题 代码完全粘贴自 http://www.cnblogs.com/langu/archive/2013/12/22/3485676.html,无改动 发现还是一样,只要放到IIS, 打开第一个页面,能建立长连接,再打开第二个页面,不能建立长连接,再打开第三个页面(页面打不开)...!
fengliu2012 2016-02-21
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
不知道你所谓的 websocket 具体是什么。 websocket 本身不走 IIS,它跟 http 长连接最大的不同,就是它根本不坑 IIS、也不坑浏览器端 http 并发数。它单独走 tcp 协议去访问websocket 服务器。同时 websocket 信令也比传统的基于 http 的信令要小数倍。 你所谓的“部署到IIS运行时”,我不知道你部署了什么网站。你应该仔细看看你的代码,看看有没有逻辑设计 bug。 比如说使用开源 .net 类库 Fleck 的 websocket,就是它的网页 https://github.com/statianzo/Fleck 这样几行代码,你用一个 console 程序执行这几行代码,然后就能用几百个网页客户端去测试它。并不需要IIS。 那么你使用 IIS 的服务器程序,我不知道你是不是写得过于复杂了。反而“死掉”了。
我就用的.net里自带的Websocket功能,httphandler 中判断请求是不是WebSocket,然后建立长连接 if (context.IsWebSocketRequest) { .... context.AcceptWebSocketRequest(skt.ProcessChat); ...... public async Task ProcessChat(AspNetWebSocketContext context) { 关键是,它在vs里调试的时候一点问题都没有啊
fengliu2012 2016-02-21
  • 打赏
  • 举报
回复
现在我放到阿里云服务器上又出新问题了,浏览器里报错 ebSocket connection to 'ws://m1.imilu.la/hd/groupsocket?GID=4' failed: Error during WebSocket handshake: Unexpected response code: 200 一个连接都不能建立
  • 打赏
  • 举报
回复
现在就确定,用 windows service 方式来发布 websocket 服务器端,用console 方式来测试它。不要使用 asp.net,不要使用 IIS。 这样你能在将来省许多事情。因为 websocket 服务器端编程跟 asp.net 网页编程,一点毛关系都没有。 websocket 服务端设计开发,根本不应该作为 asp.net 平台下的开发计划。 asp.net 应该用来承载前端网页,以 http 方式下载各种资源文件到浏览器。而不应该承载 websocket 服务器端。如果你曾经通过 asp.net SignalR 尝了尝鲜,那么现在应该把它从 asp.net 中彻底剥离出来。 Websocket 服务,将来是一个“大型消息服务系统”,通讯的是纯粹的自定义业务数据。而 asp.net 不过是做网页的。
  • 打赏
  • 举报
回复
你应该检查一下(调试一下)你的 http 通讯,看看有没有异常巨大的消息。在websocket 通讯时,你的 http 通讯应该是“不动的”。 asp.net 之前应该是弄了一个“伪websocket”,也就是说它会自动地使用 http 长连接来模拟 websocket,而不是真正 websocket。不知道你是否使用了过时的、伪 websocket 功能的 asp.net。
  • 打赏
  • 举报
回复
不知道你所谓的 websocket 具体是什么。 websocket 本身不走 IIS,它跟 http 长连接最大的不同,就是它根本不坑 IIS、也不坑浏览器端 http 并发数。它单独走 tcp 协议去访问websocket 服务器。同时 websocket 信令也比传统的基于 http 的信令要小数倍。 你所谓的“部署到IIS运行时”,我不知道你部署了什么网站。你应该仔细看看你的代码,看看有没有逻辑设计 bug。 比如说使用开源 .net 类库 Fleck 的 websocket,就是它的网页 https://github.com/statianzo/Fleck 这样几行代码,你用一个 console 程序执行这几行代码,然后就能用几百个网页客户端去测试它。并不需要IIS。 那么你使用 IIS 的服务器程序,我不知道你是不是写得过于复杂了。反而“死掉”了。
Poopaye 2016-02-21
  • 打赏
  • 举报
回复
非服务器版本的windows有10个入站限制
内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰写高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧