Reverse-engineering OSC commands to be sent as strings
Symptoms/Issue
A 3rd-party device needs to have a TCP connection to an Eos system, but cannot send properly-formatted OSC messages, only raw hexadecimal..
Description/Explanation of Issue
Eos supports String UDP but doesn’t accept arbitrary strings via TCP connection unless they’re formatted as OSC commands, including packet length headers. When Eos gets invalid packets, it closes the connection as a safety feature (to avoid being bombarded by bogus traffic).
The upshot of that is that you cannot just send "/eos/ping" as a String and have it be accepted by Eos. Instead, since the device cannot send properly-formatted OSC messages, it must send raw hexadecimal of "00 00 00 10 2f 65 6f 73 2f 70 69 6e 67 00 00 00 2c 00 00 00" which Eos software will interpret as "/eos/ping"