123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package main
- import (
- "fmt"
- "net"
- )
- func main() {
- // 本地监听地址
- localAddr, err := net.ResolveUDPAddr("udp", "0.0.0.0:8888")
- if err != nil {
- fmt.Println("Error resolving address:", err)
- return
- }
- // 创建UDP连接
- conn, err := net.ListenUDP("udp", localAddr)
- if err != nil {
- fmt.Println("Error creating UDP connection:", err)
- return
- }
- defer conn.Close()
- fmt.Println("UDP Server started and listening on", localAddr)
- // 接收数据循环
- buffer := make([]byte, 10240)
- for {
- n, addr, err := conn.ReadFromUDP(buffer)
- if err != nil {
- fmt.Println("Error reading from connection:", err)
- continue
- }
- // 处理接收到的数据并回显给客户端
- fmt.Printf("Received message from %s: %s\n", addr.String(), string(buffer[:n]))
- _, err = conn.WriteToUDP(buffer[:n], addr)
- if err != nil {
- fmt.Println("Error writing to connection:", err)
- }
- }
- }
|