basic udp socket
use same struct
common methods