Skip to content

Instantly share code, notes, and snippets.

@jasonhancock
Created August 30, 2017 20:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasonhancock/0e461dfe15c7d1ce98bf11bb728421a9 to your computer and use it in GitHub Desktop.
Save jasonhancock/0e461dfe15c7d1ce98bf11bb728421a9 to your computer and use it in GitHub Desktop.
simple udp server to debug statsd stuff
package main
import (
"fmt"
"log"
"net"
)
func handleUDPConnection(conn *net.UDPConn) {
buffer := make([]byte, 1024)
n, _, err := conn.ReadFromUDP(buffer)
if err != nil {
log.Println(err)
return
}
log.Println(string(buffer[:n]))
}
func main() {
hostName := "127.0.0.1"
portNum := "8125"
service := hostName + ":" + portNum
udpAddr, err := net.ResolveUDPAddr("udp4", service)
if err != nil {
log.Fatal(err)
}
// setup listener for incoming UDP connection
ln, err := net.ListenUDP("udp", udpAddr)
if err != nil {
log.Fatal(err)
}
fmt.Println("UDP server up and listening on ", service)
defer ln.Close()
for {
// wait for UDP client to connect
handleUDPConnection(ln)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment