使用 golang 实现一个 UDP 通信服务.
net 包
这里主要用到 golang net 包.
net.ResolveUDPAddr
方法
ResolveTCPAddr 将 addr 作为 TCP 地址解析并返回。参数 addr 格式为"host:port"或"[ipv6-host%zone]:port",解析得到网络名和端口名;net 必须是"udp"、“udp4"或"udp6”。
IPv6 地址字面值/名称必须用方括号包起来,如"[::1]:80"、"[ipv6-host]:http"或"[ipv6-host%zone]:80"。
net.ListenUDP 方法
ListenUDP 创建一个接收目的地是本地地址 laddr 的 UDP 数据包的网络连接。net 必须是"udp"、“udp4”、“udp6”;如果 laddr 端口为 0,函数将选择一个当前可用的端口,可以用 Listener 的 Addr 方法获得该端口。返回的*UDPConn 的 ReadFrom 和 WriteTo 方法可以用来发送和接收 UDP 数据包(每个包都可获得来源地址或设置目标地址)。
server 端监听
|
|
client 端监听
|
|
运行
同时运行服务端与客户端时可以看到 client 发送 “hi server” 给 server, server 返回 “hi client!” 给 client.
server
client