scratch/dns-server/main.go (view raw)
| 1 | package main |
| 2 | |
| 3 | import ( |
| 4 | "fmt" |
| 5 | "net" |
| 6 | "os" |
| 7 | ) |
| 8 | |
| 9 | func main() { |
| 10 | addr, err := net.ResolveUDPAddr("udp", "0.0.0.0:2053") |
| 11 | if err != nil { |
| 12 | fmt.Printf("%v\n", err) |
| 13 | } |
| 14 | |
| 15 | conn, err := net.ListenUDP("udp", addr) |
| 16 | if err != nil { |
| 17 | fmt.Printf("%v\n", err) |
| 18 | } |
| 19 | defer conn.Close() |
| 20 | |
| 21 | fmt.Println("Listening on :2053") |
| 22 | for { |
| 23 | if err := HandleQuery(conn); err != nil { |
| 24 | fmt.Fprintf(os.Stderr, "error: %v\n", err) |
| 25 | } |
| 26 | } |
| 27 | } |