gpt4 book ai didi

c# - 套接字连接错误

转载 作者:行者123 更新时间:2023-12-03 12:01:44 24 4
gpt4 key购买 nike

我在 .net windows 应用程序中遇到了一个奇怪的套接字连接问题。我正在使用来自 .net 的套接字与旧的系统间缓存数据库进行异步通信。我在应用程序中有一个特定的超时值,当超时发生时,会提示用户保持连接到应用程序。当我说保持连接时,套接字没有被重置。我将超时设置为 30 分钟,并说在第一次空闲时间保持连接。然后当我浏览应用程序时它工作正常。
如果没有在应用程序中导航并说第二次保持连接,然后在应用程序中导航,我会收到套接字“主机被拒绝”连接错误。我可以假设这可能是套接字已终止。但奇怪的是,如果我将应用程序超时设置为 10 分钟,那么我也会第二次收到套接字错误。当我检查套接字连接属性时,它仍然是正确的。当我调用套接字发送方法时,我没有发现异常。但是数据不是从套接字传递的。我检查了其他.net代码。没事。这个问题也很少发生,只有十分之一。任何建议都会很有帮助。

最佳答案

这听起来像是由防火墙或其他 TCP 设置引起的典型问题。
如果连接空闲超过 x 秒,防火墙可能会静默断开连接。
由于 TCP 协议(protocol)在这种情况下不会产生事件(类似于拔网线),强烈建议每隔 x 秒发送一次 ping 消息,以便防火墙保持打开状态,确保您可以连接.如果 ping 丢失,服务器将断开客户端。

关于c# - 套接字连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2047380/

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