我有一个使用signalr的www.example.com core 3.1项目,我的一些用户似乎每隔2分钟就会断开/重新连接他们的websockets signalr连接:asp.net core 3.1 project with signalr. Some of my users seem to disconnect/reconnect their websockets signalr connection every 2 minutes:
这一点在下面的图表中更加直观:
我知道在默认情况下,www.example.com控制的websockets上有2分钟的keepalive超时-但据我所知,signalr也有自己的ping/keepalive消息,专门用于避免websockets超时-如果我打开我的,我可以清楚地看到这些:asp.net - but as far as I know signalr also has it's own ping/keepalive messages specifically to avoid the websocket timeout - if I open mine I can see those clearly:
所以问题是:为什么有些人的连接会在两分钟内中断?
编辑1:删除了我的mac/linux理论,因为我在日志中发现了一些windows客户端
编辑2:我设法从一个受影响的客户端的控制台日志评分:
2条答案
按热度按时间lsmepo6l1#
这是由于在ASP.NET核心服务器中KeepAlive设置默认为2分钟。
Documentation here !
添加乒乓机制以保持WebSocket连接打开,或者提高此设置。
wj8zmpe12#
试试看: