TCP连接总断,会是什么原因啊

Atlantics 2007-08-10 03:49:27
在linux下面写了一个服务器程序,在外网运行的情况不太理想:有一部份用户反映连接总是中断(TCP),但程序中由服务器主动关闭连接的地方(closeSocket)并不多,而且肯定不是那几处关闭的,换句话说,肯定不是程序的逻辑错误造成的。以上观点还有一个证据证明,就是在内网连接此服务器多少天都不会断。
很有可能是网络问题?但这个服务器程序有一个windows版本,那个版本就不容易断连接。
是不是这两种操作系统的底层有区别呢?请大家各抒已见,积极地讨论这个问题?
(同样的问题也出现在飞信,msn,QQ游戏等tcp连接的程序上,我使用这几种软件就常掉线)
...全文
425 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dai_weitao 2007-08-13
  • 打赏
  • 举报
回复
不应该是底层实现的问题吧, 底层是TCP, 和系统无关, 只和驱动程序有关.
我认为可能性更大的是你的服务器端对socket描述符的回收机制问题, linux对socket描述符的回收总是会出现慢半拍的情况.
fytzzh 2007-08-13
  • 打赏
  • 举报
回复
聊天工具用的是TCP连接么?

感觉更适合用UDP
hzcpig 2007-08-13
  • 打赏
  • 举报
回复
关注,但觉得超时的原因可能性不大
hilary0810 2007-08-13
  • 打赏
  • 举报
回复
网络闪断会出现这种问题.
NC 2007-08-12
  • 打赏
  • 举报
回复
会不会是防火墙的问题?把linux的防火墙关了试试。
jufeng2309 2007-08-11
  • 打赏
  • 举报
回复
支持楼上说法。。。。
--------------
但有一点需要说说的
如果你做C/S版本的软件,数据库放在unix上的oracle,会不会出现断线也连接不上的情况,
防火墙已设置好的情况下。

cceczjxy 2007-08-11
  • 打赏
  • 举报
回复
我觉得应该是unix和windows内核中tcp链接的超时机制和不一样,因为客户端一般为window,和window
服务器链接时,两端的接口一样.而和unix服务器链接时,就存在一定的差异.
unix和unix连接时一般也不存在这样的问题.

还有就是一般网速非常慢时更容易掉线.这我就觉得和两种系统对超时的处理上可能有一定的差异.

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧