首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >套接字连接稳定性

套接字连接稳定性
EN

Stack Overflow用户
提问于 2012-02-28 12:58:06
回答 2查看 1.1K关注 0票数 0

我有一个用C#编写的异步套接字服务器。我的用户经常抱怨他们无缘无故地与断开了连接。用户计算机上的其他互联网应用程序(MSN、SKYPE等)看起来连接良好,因此这似乎不是他们的互联网连接的问题。谁能提供一些关于如何使客户端和服务器之间的连接坚如磐石(我的意思是防止频繁断开)的信息,或者我可以在哪里寻找断开问题?

EN

回答 2

Stack Overflow用户

发布于 2012-02-28 15:55:00

网络地址转换器(也称为“家庭路由器”、“无线网关”等)在多台计算机之间共享ISP分配IP地址可能在这里起作用。NAT保留一个活动连接表(有时称为“端口映射表”),跟踪如何为活动TCP连接和观察到的UDP会话转换ip:port对。有些品牌的路由器如果在一段时间内没有观察到任何通过TCP连接的流量,则会清除内存中的端口映射。像MSN Messenger和Skype这样的应用程序通过定期在客户端、服务器和其他持久连接之间发送"keep alive“来缓解这种情况。这些消息是双向传递的。

您没有提供太多信息,因此NAT问题只是众多可能性中的一种。

诊断连接故障的最佳方法是投入大量资金记录网络消息(在客户端和服务器上)、套接字事件以及套接字API的所有返回值。这样,如果客户报告了问题,他可以将他的日志发送给您-希望您可以获取相应的服务器日志进行比较。然后,您可以诊断断开的原因和/或重置连接的套接字错误。您的代码中有很大可能触发了断开连接。

票数 2
EN

Stack Overflow用户

发布于 2012-02-28 14:36:50

我假设您在这里谈论的是TCP。您的应用程序的客户端使用的套接字库与他们用来连接Skype或MSN的套接字库几乎相同。通常,断开连接的原因是其中一方关闭了套接字(例如,在连接空闲了一段时间之后)。检查代码中关闭连接的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9476632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档