文章目录

  • 1. 服务端配置
  • 2. 客户端配置

UDP 是用户数据报协议,是一种无连接传输协议,不需要建立连接就可以直接发送和接收数据,属于不可靠的,没有时序的通信,UDP实时性好,适合直播环境。


1. 服务端配置

package mainimport ("fmt""net"
)//UDP服务端配置
func main() {//1:启动监听listener, err := net.ListenUDP("udp", &net.UDPAddr{IP:   net.ParseIP("127.0.0.1"),Port: 30000,})if err != nil {fmt.Println("启动server失败,err:", err)return}defer listener.Close()//获取连接数据for {var buf [1024]byten, addr, err := listener.ReadFromUDP(buf[:])if err != nil {fmt.Println("读取失败,err:", err)return}//信息输出fmt.Printf("来自%v的消息:%v\n", addr, string(buf[:n]))//信息回复_, err = listener.WriteToUDP([]byte("hi"), addr)if err != nil {fmt.Println("回复信息失败,err:", err)return}}
}

2. 客户端配置

package mainimport ("fmt""net"
)//UDP客户端配置
func main() {//1:连接服务器coon, err := net.Dial("udp", "127.0.0.1:30000")if err != nil {fmt.Println("连接失败,err:", err)return}defer coon.Close()//发送数据_, err = coon.Write([]byte("hello"))if err != nil {fmt.Println("发送信息失败,err:", err)return}//接收信息var buf [1024]byten, err := coon.Read(buf[:])if err != nil {fmt.Println("接收信息失败,err:", err)}fmt.Println("接收消息:", string(buf[:n]))
}

验证操作结果如下:

  • 对接多客户端,服务端配置
package mainimport ("fmt""net"
)//UDP服务端配置func process(listener *net.UDPConn) {defer listener.Close()//循环获取连接数据for {var buf [1024]byten, addr, err := listener.ReadFromUDP(buf[:])if err != nil {fmt.Println("读取失败,err:", err)return}//信息输出fmt.Printf("来自%v的消息:%v\n", addr, string(buf[:n]))//信息回复_, err = listener.WriteToUDP([]byte("hi"), addr)if err != nil {fmt.Println("回复信息失败,err:", err)return}}
}func main() {//1:启动监听listener, err := net.ListenUDP("udp", &net.UDPAddr{IP:   net.ParseIP("127.0.0.1"),Port: 30000,})if err != nil {fmt.Println("启动server失败,err:", err)return}process(listener)
}

实现结果如下:

Golang UDP编程相关推荐

  1. [C# 网络编程系列]专题七:UDP编程补充——UDP广播程序的实现

    上次因为时间的关系,所以把上一个专题遗留下的一个问题在本专题中和大家分享下,本专题主要介绍下如何实现UDP广播的程序,下面就直接介绍实现过程和代码以及运行的结果. 一.程序实现 UDP广播程序的实现代 ...

  2. [C# 网络编程系列]专题六:UDP编程

    引言: 前一个专题简单介绍了TCP编程的一些知识,UDP与TCP地位相当的另一个传输层协议,它也是当下流行的很多主流网络应用(例如QQ.MSN和Skype等一些即时通信软件传输层都是应用UDP协议的) ...

  3. Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...

    TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题. Jav ...

  4. 穿透Socks5 代理的UDP编程

    网络编程中,对于数据传输实时性要求较高的场合,大家都会选择UDP来作为数据传输协议,在TCP/IP协议族中UDP协议较TCP协议需要的网络系统资源更少.然而在企业应用中,由于网络安全原因等会导致除了特 ...

  5. TCP/UDP编程中的问题汇总

    TCP/UDP编程中的问题汇总 TCP和UDP发送大文件的问题. 答: 发送端: 发送时,先发送文件的名称及大小等信息. 然后,设置一个缓冲区的大小,假设为4K. 再循环读4K的文件内容,并发送,直到 ...

  6. Java UDP 编程简介.

    一.UDP 协议简介 UPD协议 是常见的 网络传输协议之一, 当然另1个是TCP协议. UPD协议 是一种不靠的协议. 是因为发送方不会关心接受方的状态, 直接向接收方发送数据包, 也就是说这个数据 ...

  7. Qt学习笔记之UDP编程

    1. UDP概述 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中 ...

  8. 【Linux网络编程】UDP编程

    00. 目录 文章目录 00. 目录 01. 概述 02. UDP编程C/S结构 03. UDP常用函数 3.1 sendto函数 3.2 recvfrom函数 3.3 bind函数 04. 程序示例 ...

  9. python的基础网络编程是下列_Python入门基础之网络编程、socket编程、TCP、UDP编程...

    忙了两天,继续更文!希望多多支持. 套接字 套接字是一种具有之前所说的"通讯端点"概念的计算机网络数据结构.网络化的应用程序在开始任何通讯之前都必需要创建套接字. 套接字有三种: ...

最新文章

  1. [笔记]解决m2eclipse给项目添加maven依赖管理时可能不给项目的build path...
  2. 独家 | 教你用卷积神经网络对视觉神经元进行建模(附资源)
  3. C++入门经典-例4.7-变量的作用域
  4. 低功耗蓝牙系统结构流程图
  5. 【技术综述】深度学习在自然语言处理中的应用发展史
  6. .NET如何以 回车换行符 拆分字符串?
  7. 一文详解图对比学习(GNN+CL)的一般流程和最新研究趋势
  8. 使用UltraEdit来拷贝粘贴二进制
  9. java integer_Java之Integer类
  10. 计算机考研评分标准,考研的评分标准.doc
  11. 华为鸿蒙原生app,华为鸿蒙开发者大赛颁奖典礼临近,鸿蒙原生应用来了
  12. 写在注册测绘师考完之后
  13. 在苹果笔记本如何使用python_苹果电脑系统如何运行python工具介绍
  14. 全球与中国高炉系统(钢铁厂)市场深度研究分析报告
  15. 怎么把QQ音乐里wav格式转换成MP3
  16. 高一计算机函数公式,高中全部函数公式大全
  17. python pyplot bar 参数_数据可视化之条形图(1):Axes.bar
  18. 求不规则图形外接圆的算法 (附:三角形外接圆计算公式)
  19. 调用图形验证码接口时,为什么要在接口后方添加随机数
  20. 「好书推荐」《边城》沈从文的乡土情怀代表作,汪曾祺、林徽因、曹文轩等真情推荐!

热门文章

  1. 未来人工智能机器人会代替人类吗,2022最新
  2. 9 个你应该知道的支付系统开源项目
  3. matlab 热传导方程,热传导方程有限差分法的MATLAB实现
  4. DOS游戏手柄键盘映射说明书
  5. Fira Code字体中增加思源黑体支持中文字体
  6. 互联网业务数据分析- 数据指标建模(上)
  7. 使用keytool生成keystore密钥文件,并提取公钥和私钥,签名、验签。
  8. 前端通用埋点工具web-hunter
  9. Jquery3.x高版本支持IE8
  10. XMIND中调整某一主题中英文大小写