How do SO_REUSEADDR and SO_REUSEPORT differ?
The man pages
and programmer documentations for the socket options SO_REUSEADDR
and SO_REUSEPORT
are different for different operating systems and often highly confusing. Some operating systems don't even have the option SO_REUSEPORT
. The WEB is full of contradicting information regarding this subject and often you can find information that is only true for one socket implementation of a specific operating system, which may not even be explicitly mentioned in the text.
So how exactly is SO_REUSEADDR
different than SO_REUSEPORT
?
Are systems without SO_REUSEPORT
more limited?
And what exactly is the expected behavior if I use either one on different operating systems?