Setting up UDP Example App

Hey folks,

I was trying to go through this documentation here for an example UDP app: Running Fly.io Apps On UDP and TCP . I have another weekend project that I’d like to in the future with the UDP protocol and figured I’d start there.

app = "echo-test"

kill_signal = "SIGINT"
kill_timeout = 5
processes = []

[env]
  ECHO_PORT = 5000

[experimental]
  allowed_public_ports = []
  auto_rollback = true

[[services]]
  internal_port = 5000
  protocol = "udp"

  [[services.ports]]
    port = "5000"

[[services]]
  internal_port = 5000
  protocol = "tcp"

  [[services.ports]]
    port = "5000"

I was unsuccessful with echo hello world | nc echo-test.fly.dev 5000 and tried using tcp-dump as was mentioned in a different thread and don’t think I saw anything come in either. I did the following:

flyctl ssh console
apt-get update
apt-get install -y tcpdump
tcpdump -i eth0 udp

Any help would be appreciated.

Hmm. Do you mean you’ve cloned their sample UDP app (GitHub - fly-apps/udp-echo-: Sample TCP/UDP Echo Service) and it’s not working for you?

That fly.toml looks ok to me.

Do you see any issue/error when you deploy?

Or when you run fly logs from that folder? That fly.toml does not include any automated healthcheck so it’s possible it’s failing, and hence you can’t access it.

I destroyed my original app, did another fly launch and when prompted to copy the config over, I selected yes. It deployed successfully and then I was able to send over UDP packets with it echoing back to me. Not sure what the issue was but can confirm it works now. Thanks for the response!

3 Likes