我们需要设计一个客户端。
那么,看客户端是怎么工作的。

1、建立一个解析UDP数据包的地址
udpAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:8090")
if err != nil{
fmt.Println("net.ResolveUDPAddr udp 127.0.0.1:8080 错误:", err)
return
}
2、开始监听这个UDP地址
udpConn, err := net.ListenUDP("udp", udpAddr)
if err != nil{
fmt.Println("net.ListenUDP(\"udp\", udpAddr) 错误:", err)
return
}
defer udpConn.Close()
3、循环读取,输出,回复
bytes := make([]byte, 1024)
for{
size, remoteAddr, _ := udpConn.ReadFromUDP(bytes)
fmt.Println(remoteAddr, "Send Message : ", string(bytes[:size]))
udpConn.WriteToUDP([]byte("已经阅读"), remoteAddr)
}
那么,下面是全部代码
package main
import (
"fmt"
"net"
)
func main(){
udpAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:8090")
if err != nil{
fmt.Println("net.ResolveUDPAddr udp 127.0.0.1:8080 错误:", err)
return
}
udpConn, err := net.ListenUDP("udp", udpAddr)
if err != nil{
fmt.Println("net.ListenUDP(\"udp\", udpAddr) 错误:", err)
return
}
defer udpConn.Close()
bytes := make([]byte, 1024)
for{
size, remoteAddr, _ := udpConn.ReadFromUDP(bytes)
fmt.Println(remoteAddr, "Send Message : ", string(bytes[:size]))
udpConn.WriteToUDP([]byte("已经阅读"), remoteAddr)
}
}