For fun I thought I'd make a list of the reasons I can remember why people choose sometimes choose UDP over TCP.
Connection overhead of TCP (initiating a connection)
Mainly a big deal with web browsers (each page has to connect to several domains, and each takes a few (usually 2 I believe) TCP connections, which introduces latency)
This is part of why HTTP/3 exists
Not a big deal for a 2 hour test where you open one connection
Don't need packet de-duplication or re-transmits
or there is an application-specific usage pattern that makes application-layer handling of faults the better route (HTTP/3)
This application needs reliable transmission as it does not implement reliability at a higher level
Want to avoid ordered transmission/head-of-line blocking
This really means you are implementing multiplexing at the application level rather than at the TCP level -- its a hell of a lot easier to open 10 TCP connections, especially in applications on closed networks which are not "web scale"
This is the reason HTTP/2 exists. HTTP/2 has connection multiplexing on TCP, HTTP/3 has connection multiplexing over UDP.
Given the reliable transmission and rate requirement, I'm assuming ordered transmission is desired
Want to avoid congestion control
Bad actor attempting to cause network failures
or: self-limited bandwidth use
This application falls under this category
or: Implement congestion control at the application layer (HTTP/3)
Memory/CPU usage of tcp implementation
Network engineers want to heavily fiddle with parameters and algorithms without waiting for the OS kernel to update
HTTP/3 is supposed to be faster because of this -- TCP is tuned for 20 years ago or so its been said, and HTTP/3 can be tuned for modern networks
I'm assuming this is not Michael
On a closed network, for this application, its hard to see a benefit to UDP. (It occurs to me Michael never said it was a closed network, but if he put a pharlap system on the internet...😵)