a c implementation of the udp hole punching