Comments (2)
It depends on the underlying OS:
https://stackoverflow.com/questions/14388706/how-do-so-reuseaddr-and-so-reuseport-differ
The TLDR is set both to ensure everything works as expected. A relevant snippet from that answer is:
There is not much more to say about SO_REUSEPORT other than that it was added later than SO_REUSEADDR, that's why you will not find it in many socket implementations of other systems, which "forked" the BSD code before this option was added, and that there was no way to bind two sockets to exactly the same socket address in BSD prior to this option.
from go-reuseport.
Hey, thanks for the reply.
I do understand that SO_REUSEPORT
doesn't exist on some systems, which is why I suggested trying to set it and then setting SO_REUSEADDR
if it errors out.
from go-reuseport.
Related Issues (20)
- should I set SO_REUSEADDR in go app HOT 2
- Control implementations don't do error handling correctly HOT 1
- possible to provide an example for use with https://github.com/tidwall/redcon? HOT 1
- Enhancement: For FreeBSD based systems, enable connection load balancing in case of multiple listeners. HOT 2
- [Question] Not clear implementation of Available() HOT 10
- SO_REUSEPORT has gone from unix_impl HOT 2
- The constant SO_REUSEPORT is still missing in Linux/386 and amd64. HOT 3
- Are you planning on adding tfo(tcp fast open) HOT 1
- win not work HOT 1
- impl_wasm is redeclaring methods HOT 2
- Republish gx package *without* exe file
- Control redeclared in this block HOT 3
- ResolveAddr should deprecated or moved
- Unexpected address type for UDP HOT 1
- reuseport.Listen success on Darwin, but maybe not load balanced HOT 2
- Question: what are the use cases for port reusing? HOT 1
- support timeout like "net.DialTimeout"
- Bug-Report[reuse-port]fail to bind port in some device HOT 4
- [Need Help] testing udp receive and send in two debian PCs in my LAN HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-reuseport.