gpt4 book ai didi

c# - Azure 网络应用 : Web sockets abort after 100 seconds

转载 作者:行者123 更新时间:2023-12-05 02:16:32 29 4
gpt4 key购买 nike

我正在编写一个网络套接字应用程序,我打算使用 Azure 网络应用程序将其托管在云上。

Web 套接字是使用相当标准的 Owin 中间件实现的,并且在前 100 秒内功能齐全。这段时间之后,websocket 似乎像发条一样进入中止状态。

[CLIENT][06/04/2018 11:27:21] WS client connected
[CLIENT][06/04/2018 11:29:01] WS client disconnected

在 IIS Express 实例上尝试此操作会出现同样的问题,尽管延迟似乎是 90 秒而不是 100 秒(这也是一致的)。

作为 Owin 自托管应用程序的一部分运行相同的 websocket 会产生超过 25 分钟的稳定性 - 所以这肯定是由托管服务器引起的问题。

在 azure web 应用程序托管上,我启用了 web 套接字,并且还尝试启用“Always On”功能,希望这可以通过防止服务器进入待机状态来防止问题 - 但这并没有有帮助。

是否有任何我不知道的 azure 设置可以进行调整,以便这些网络套接字可以保持打开更长时间?

非常感谢

最佳答案

不幸的是,似乎 azure 和 IIS 都是转移注意力的问题,而是使用 System.Net.Websockets.ClientWebSocket 的 C# 实现时遇到的问题。详细信息在以下位置进行了精彩总结:.NET WebSockets forcibly closed despite keep-alive and activity on the connection

对于遇到此问题的其他人,一种有效(但不理想)的解决方法是在创建客户端网络套接字之前运行以下命令一次:

ServicePointManager.MaxServicePointIdleTime = int.MaxValue;

关于c# - Azure 网络应用 : Web sockets abort after 100 seconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49690880/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com