udp开发基本和tcp差不多
server端:
package main
func main(){
addr:=":8888"
protocol:="udp"
packetConn,err:=net.ListenPacket(protocol,addr) //这个是udp服务端监听的方法
if err!=nil{
fmt.Println(packetConn)
return
}
// 处理客户端
for {
ctx:=make([]byte,1024)
n,caddr,err:=packetConn.ReadFrom(ctx) //获取数据;addr 是客户端的地址
if err !=nil{
fmt.Println(err)
continue
}
fmt.Printf("客户端[%s]: %s",caddr,string(ctx[:n]))
packageConn.WriteTo([]byte(time.Now().Format("2006-01-02 15:04:05")),caddr) //发送给addr数据
}
packetConn.Close()
}
client端:
package main
func main(){
addr:=":8888"
protocol:="udp"
conn,err:=net.Dial(protocol,addr) //udp同样使用net.Dial建立连接
if err!=nil{
fmt.Println(err)
return
}
n,err:=conn.Write([]byte(time.Now().Format("2006-01-02 15:04:05")))
fmt.Println(n,err)
conn.Close()
}
文档更新时间: 2021-08-26 17:01 作者:张尚