Use a more low level function to send udp packet => allow to specify src port
Add possibility to reuse socket or not
Refactor client
Fix error