udp开发基本和tcp差不多

server端:

  1. package main
  2. func main(){
  3. addr:=":8888"
  4. protocol:="udp"
  5. packetConn,err:=net.ListenPacket(protocol,addr) //这个是udp服务端监听的方法
  6. if err!=nil{
  7. fmt.Println(packetConn)
  8. return
  9. }
  10. // 处理客户端
  11. for {
  12. ctx:=make([]byte,1024)
  13. n,caddr,err:=packetConn.ReadFrom(ctx) //获取数据;addr 是客户端的地址
  14. if err !=nil{
  15. fmt.Println(err)
  16. continue
  17. }
  18. fmt.Printf("客户端[%s]: %s",caddr,string(ctx[:n]))
  19. packageConn.WriteTo([]byte(time.Now().Format("2006-01-02 15:04:05")),caddr) //发送给addr数据
  20. }
  21. packetConn.Close()
  22. }

client端:

  1. package main
  2. func main(){
  3. addr:=":8888"
  4. protocol:="udp"
  5. conn,err:=net.Dial(protocol,addr) //udp同样使用net.Dial建立连接
  6. if err!=nil{
  7. fmt.Println(err)
  8. return
  9. }
  10. n,err:=conn.Write([]byte(time.Now().Format("2006-01-02 15:04:05")))
  11. fmt.Println(n,err)
  12. conn.Close()
  13. }
文档更新时间: 2021-08-26 17:01   作者:张尚