gpt4 book ai didi

c# - 套接字服务器在一段时间后停止接受连接

转载 作者:行者123 更新时间:2023-11-30 15:11:02 24 4
gpt4 key购买 nike

我们有一个用 C# 编写的异步套接字服务器。 (在 Windows Web Server 2008 上运行)

它完美地工作,直到它因未知原因停止接受新连接。

我们平均有大约 200 个并发连接,但是我们对创建的连接和丢弃的连接都进行了计数。这些数字可以高达 10,000,也可以低至仅 1000,然后才停止!它有时可以运行长达 8 小时左右,然后才会停止,或者它可以运行大约半小时,目前它运行了大约一个小时,然后我们让另一个应用程序在无法连接时自动恢复它(不完全是理想)。

当我们正确关闭套接字时,我们似乎没有用完套接字,我们还记录了所有错误,并且在它停止之前没有立即发生任何事情。

我们可以解决这个问题。有谁知道可能会发生什么?

我可以粘贴代码,但它通常只是您随处可见的旧异步 beginaccept/send 代码。

最佳答案

谁发起主动关闭,客户端还是服务器?如果是服务器,那么您可能会在服务器上累积处于 TIME_WAIT 状态的套接字,这可能会阻止您接受新连接。如果客户端连接可能是短暂的并且您经历了很多短暂的客户端连接发生的时期,则更有可能发生这种情况。

哦,如果您在 TIME_WAIT 中累积套接字,那么请不要假设更改机器范围内的时间等待周期长度是最佳或唯一的解决方案。

关于c# - 套接字服务器在一段时间后停止接受连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843914/

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