udp server should run as a goroutine