>> The client executes the socket, bind (with 0 on port and INADDR_ANY on s_addr field)
The client isn't supposed to do a bind. Just set up the socket, and call sendto and recvfrom.
For an example, take a look at this sample code from Beej's excellent guide to network programming :
http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#datagram