62,635
社区成员




SO_REUSEPORT (since Linux 3.9)
Permits multiple AF_INET or AF_INET6 sockets to be bound to an identical socket address. This
option must be set on each socket (including the first socket) prior to calling bind(2) on the
socket. To prevent port hijacking, all of the processes binding to the same address must have the
same effective UID. This option can be employed with both TCP and UDP sockets.
For TCP sockets, this option allows accept(2) load distribution in a multi-threaded server to be
improved by using a distinct listener socket for each thread. This provides improved load distri‐
bution as compared to traditional techniques such using a single accept(2)ing thread that distrib‐
utes connections, or having multiple threads that compete to accept(2) from the same socket.
For UDP sockets, the use of this option can provide better distribution of incoming datagrams to
multiple processes (or threads) as compared to the traditional technique of having multiple pro‐
cesses compete to receive datagrams on the same socket.