inet_ntoa returns a pointer to a fixed buffer.
If called multiple times during the evaluating of an expression the
buffer will be overwritten and the addresses will appear duplicated.
The sockets are bound on all interfaces using INADDR_ANY, so getsockname
always return 0.0.0.0.
The actual address can be obtained from the destination address of the
received IP packet using the socket ancillary data.