The flush() call after read() causes empty packets being sent as response for all UDP packets received on that port.