我写了一个简单的socket TCP 服务器程序,最初在2.6内核的Red Hat Enterprise 4 下调试,一切正常。
后来在2.4内核的Red Hat Enterprise 3下调试,发现中止程序后,再次执行程序,端口总是无法绑定,要等大约20秒左右才能重新绑定端口,而在2.6内核下没有发现这个问题。
因此怀疑是不同内核对于socket绑定端口的不同表现行为,目前也没看见相关的资料。
建议在2.4内核下编写TCP 服务器程序,注意将端口设置为允许重用。
后来在2.4内核的Red Hat Enterprise 3下调试,发现中止程序后,再次执行程序,端口总是无法绑定,要等大约20秒左右才能重新绑定端口,而在2.6内核下没有发现这个问题。
因此怀疑是不同内核对于socket绑定端口的不同表现行为,目前也没看见相关的资料。
建议在2.4内核下编写TCP 服务器程序,注意将端口设置为允许重用。
本文探讨了在2.4与2.6内核版本的RedHat Enterprise系统中,SocketTCP服务器程序端口绑定行为的不同表现。在2.4内核下,中止程序后重新启动会遇到端口绑定失败的问题,需等待约20秒后才能成功绑定,而2.6内核则不存在此问题。
878

被折叠的 条评论
为什么被折叠?



