gpt4 book ai didi

c - SO_REUSEADDR 的用例是什么?

转载 作者:可可西里 更新时间:2023-11-01 02:29:50 25 4
gpt4 key购买 nike

我已经使用 SO_REUSEADDR 让我的服务器被终止重新启动,而不会提示套接字已在使用中。我在想:SO_REUSEADDR 还有其他用途吗?除了上述目的之外,是否有人使用套接字选项?

最佳答案

对于 TCP,主要目的是在同一地址上重新启动已关闭/终止的进程。

需要该标志是因为端口进入 TIME_WAIT 状态以确保所有数据都已传输。

如果两个套接字绑定(bind)到同一个接口(interface)和端口,并且它们是同一个多播组的成员,数据将被传递到两个套接字。

我想另一种用途是尝试拦截数据的安全攻击。

( Source )


对于UDPSO_REUSEADDR用于多播。

More than one process may bind to the same SOCK_DGRAM UDP port if the bind() is preceded by:

int one = 1;
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));

In this case, every incoming multicast or broadcast UDP datagram destined to the shared port is delivered to all sockets bound to the port.

( Source )

关于c - SO_REUSEADDR 的用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com