SO_REUSEADDR with UDP sockets on Linux. Is it necessary?
-
03-07-2021 - |
Question
My UDP socket is bind()
ing to port 53 (DNS). Does UDP have a TIME_WAIT
state or is using SO_REUSEADDR
pointless on UDP sockets?
Solution
UDP doesn't have connections, so there's nothing analogous to TIME_WAIT. You don't need to use SO_REUSEADDR.
If you're listening on a broadcast or multicast address, you might need to use SO_REUSEPORT, so that if there are multiple listeners on the same machine they don't conflict. However, from what I can tell, this doesn't exist on Linux.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow