【发布时间】:2014-07-04 05:11:11
【问题描述】:
我创建了一个多线程 TCP 服务器。当客户端断开连接时,我会收到
“现有连接被远程主机强行关闭”错误。
除了捕获错误之外,处理远程客户端断开连接的最佳方法是什么?
【问题讨论】:
-
...这完全取决于当客户端意外断开连接时您的服务器应该做什么(或不应该做什么)。告诉我们,并向我们展示到目前为止您为实现服务器的预期行为所做的尝试...
-
@elgonzo 当客户端断开连接时,我希望服务器放弃连接。没有错误。
-
从你的问题我推断你已经能够捕捉到错误。是什么阻止您在捕获错误时丢弃此连接(无论您理解为“丢弃”)?
-
@elgonzo - 什么都没有,这就是我目前正在做的事情。我想知道除了简单的捕获之外是否还有更“正确”的方法来处理这个问题。 =D
-
您提出问题的方式更像是邀请您参加某种基于意见的讨论 - SO 不适合。如果您的代码有具体问题,那么 SO 是正确的地方。很可能有人可以想出不同的方法来处理意外的客户断开连接,可能所有这些方法都以自己的方式“正确”——但正如所说,这将是基于意见的讨论,并不真正适合问题- 答案格式,如 SO。长话短说——如果你的代码正确地做你想做的事,那么别担心:)
标签: c# .net multithreading networking tcp