What will happen if listening 0.0.0.0 and loopback with a same port
I'm confuse when I listen both 0.0.0.0 and localhost(or 127.0.0.1) with the same port. It has different behavior when using different IP connects to it.
Here is my golang demo
func main() {
wg := sync.WaitGroup{}
addrs := []string{"127.0.0.1:8080", "0.0.0.0:8080"}
wg.Add(len(addrs))
for _, addr := range addrs {
go lis(addr, &wg)
}
wg.Wait()
_, err := net.Dial("tcp", "localhost:8080")
if err != nil {
return
}
time.Sleep(time.Millisecond...