if you think that shoving around at max 1500 characters is too slow, then pass a pointer instead of the text.
btw udp is a non-guaranteed delivery protocol...so if the socket is busy (even just reading data) when more data is ready, it may get lost.
the hardest line to type correctly is: stty erase ^H