Don't hardcode ports when binding udp sockets
Don't hardcode ports when binding udp sockets

The existing logic constructs a loopback address for binding by incrementing
the port number of an existing address. This can lead to failures in the event
that the original address had port=65535 (the maximum port). Resolve this
failure case by just binding to a new loopback address and letting the system
pick the port.

Also, fix a bug in `ReceiveFromNotConnected` in which the test was asserting on
the wrong socket.

PiperOrigin-RevId: 482260609

google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor