SO_REUSEADDR选项的平台差异(对于TCP)

源起:
       linux下运行中的服务器,因为一些原因中途重启,结果监听失败。(未设置SO_REUSEADDR)


平台差异:
当A、B进程都监听同一个端口时;
win下若设置复用,则A进程、B进程都可监听成功(谁先监听,则谁可接受连接)。
linux下设置复用,则先开哪个,哪个监听成功,另一个不成功。

SO_REUSEADDR选项解决的问题是,当bind时,若此地址、端口处于TIME_WAIT状态下,那么设置此选项可立即绑定;若未设置此选项,则绑定失败。

posted @ 2019-03-21 12:08  lcinx  阅读(235)  评论(0编辑  收藏  举报