TCP/IP连接的TIME_WAIT状态问题,急。。。。(成功答复,即刻兑现分数)

akeyliu 2003-09-23 06:12:54
由于工作需要,使用Borland C++ Builder 5在windows2000简体中文版上进行数据库开发,发现在数据库链接关闭后发现与数据库服务器的TCP连接(用netstat检查)发现连接均为TIME_WAIT状态。
从资料上说TIME_WAIT状态是连接双方都调用close()后才形成的,由于最后一次握手不成功,连接需要2MSL后才能消失(大概4分钟)。
编写多个程序,如使用TServerSocket和TClientSocket,也使用过socket函数组,在双方都调用close()后,经检查都是TIME_WAIT状态。
我在猜想是不是和Windows下的winsock库或IP4与IP6的差异有关,在UNIX下我有7年编程经验,也没遇到过TIME_WAIT状态。
有哪位大侠能给与指点。谢谢。
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
akeyliu 2003-10-10
  • 打赏
  • 举报
回复
我在RS6000(AIX)上也能看到TIME_WAIT状态,不过状态只持续2秒左右,在WINDOWS下居然要持续4分钟(2MTS),不知有没有可以调节的。
invalid 2003-09-25
  • 打赏
  • 举报
回复
Time_Wait是管理Tcpip传输连接的。你不应该取消掉,还是找找其它办法吧,比如换网卡,换换网卡驱动。
akeyliu 2003-09-25
  • 打赏
  • 举报
回复
我也特地查询过TCPIP的资料,由于TIME_WAIT状态会影响程序运行,(我的笔记本电脑在有10个TIME_WAIT状态时会出现网络中断,即用Ping再也ping不能网络上其他地址),因此需要解决这个问题。
invalid 2003-09-24
  • 打赏
  • 举报
回复
是正常的,TIME-WAIT:表示等待一段足夠長的時間,已確保遠端的TCP已接收到他的連結終止要求的確認。
具体你可以参考TCPIP协议说明。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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