【发布时间】:2023-01-14 07:52:11
【问题描述】:
我正在阅读有关 socat here 和 here 的文档。
示例 socat -u TCP4-LISTEN:3334,reuseaddr,fork OPEN:/tmp/test.log,creat,append 在有和没有选项 reuseaddr 的情况下都能很好地工作。
reuseaddr 是做什么的?
为什么上面的示例在有和没有reuseaddr 的情况下都能正常工作?
在哪些情况下真正需要reuseaddr?
【问题讨论】:
-
strace -f socat -u TCP4-LISTEN:3334,reuseaddr,fork OPEN:/dev/null 2>&1 | grep REUSEADDR显示:setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0。 Socat 版本 1.7.4.4 -
@dimich 的确如此。我再次检查,可以在
setsockopt上看到选项SO_REUSEADDR。根据您的评论修改了我的问题。
标签: linux networking tcp udp socat