Using netcat to send UDP messages to Go Button

542 views
Skip to first unread message

Chase Stubblefield

unread,
Aug 31, 2017, 6:51:08 PM8/31/17
to Go Button
I'm trying to send commands to Go Button over plain text UDP with netcat, and am not having much success. There must be something fundamental that I'm not understanding. The documentation says to send plain text messages like "/cue/1/start" to port 53535 over UDP. I have OSC Control enabled in the menu in the sidebar, and that is the ip address I'm using to send my messages to.

Why doesn't something like this work?

echo -n "/cue/1/start" | nc -u <ios_device_ip> 53535

I run this command with a show currently open on Go Button, and nothing happens. How do I receive replies from Go Button? The documentation says port 53001 but I'm unsure whether I should be connecting to 53001 or listening on 53001. That is, should I be doing

nc -u <ios_device_ip> 53001

or

nc -lu 53001 

Unfortunately in either case if I leave those running and send a message to 53535 like above, I still get no response.

Is this a router/firewall issue? Netcat seems to indicate that it's successfully connecting to the ip and port. I can ping my iOS device successfully. I couldn't find any firewall settings on my router that would be relevant.

Thanks in advance for your help!

Brent Lord

unread,
Aug 31, 2017, 9:15:30 PM8/31/17
to Go Button
Hi Chase -

Thanks for the questions!

I did some double-checking just now, and I was able to send both a /go message as well as a /cue/1/start message to Go Button from my Mac using netcat. 

The exact command I used was this:

echo -n "/go" | nc -u 192.168.0.4 53535


 (with that being the IP address of my iPhone at the moment).



On your router (and/or firewall), port 53535 would need to be open. Also, make sure you disable any VPN software on your Mac and your Go Button device that might be filtering or blocking the messages from getting through.

Listening also worked for me using this:

nc -lu 53001 

but with one important caveat that is unrelated to netcat. Sending OSC messages to port 53535 with UDP does not establish a socket connection with the sender, so there isn't a way for Go Button to reply. In order to receive replies, you need to send OSC messages to your iOS device's port 53000 using TCP, and then Go Button will be able to send replies back to your listener on port 53001.

A quick tip:
If Go Button receives an OSC message while the "OSC Control Settings" screen is open, the screen will briefly glow yellow and the text of the command received will appear below the first section. This can be a useful tool while debugging your connection. 

I hope that helps - and let us know if you continue to have trouble!

Brent

Chase Stubblefield

unread,
Sep 1, 2017, 10:42:50 AM9/1/17
to Go Button
Thanks for the help. I managed to get it working when using my iPhone, but not my iPad. I'll try to search for any network configuration differences.
Reply all
Reply to author
Forward
0 new messages