前段时间,一个朋友发来邮件,说在RedHat Linux 9.0 操作系统的机器上,编写了一个服务程序。该服务程序用Ctrl+C终止后,不能够马上重新运行。出现地址绑定错误,也就是调用bind()函数时,出现错 误。但过了几分钟后,即可以正常运行。不明白原因,并希望能给于解决。 首先,来了解出现这个问题的原因。如果出现上面的情况,可以用 netstat -an 命令查看一下,就会发现那个服务程序所使用的端口处在CLOSE_WAIT状态。当程序执行主动关闭的时候,就会进入这种状态。还有一种情况,就是客户端 还在保持连接,但服务器却意外终止,这种情况,也会有这种状态产生,特别是在一些老的UN...