Golang UDP编程
文章目录
- 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编程相关推荐
- [C# 网络编程系列]专题七:UDP编程补充——UDP广播程序的实现
上次因为时间的关系,所以把上一个专题遗留下的一个问题在本专题中和大家分享下,本专题主要介绍下如何实现UDP广播的程序,下面就直接介绍实现过程和代码以及运行的结果. 一.程序实现 UDP广播程序的实现代 ...
- [C# 网络编程系列]专题六:UDP编程
引言: 前一个专题简单介绍了TCP编程的一些知识,UDP与TCP地位相当的另一个传输层协议,它也是当下流行的很多主流网络应用(例如QQ.MSN和Skype等一些即时通信软件传输层都是应用UDP协议的) ...
- Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...
TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题. Jav ...
- 穿透Socks5 代理的UDP编程
网络编程中,对于数据传输实时性要求较高的场合,大家都会选择UDP来作为数据传输协议,在TCP/IP协议族中UDP协议较TCP协议需要的网络系统资源更少.然而在企业应用中,由于网络安全原因等会导致除了特 ...
- TCP/UDP编程中的问题汇总
TCP/UDP编程中的问题汇总 TCP和UDP发送大文件的问题. 答: 发送端: 发送时,先发送文件的名称及大小等信息. 然后,设置一个缓冲区的大小,假设为4K. 再循环读4K的文件内容,并发送,直到 ...
- Java UDP 编程简介.
一.UDP 协议简介 UPD协议 是常见的 网络传输协议之一, 当然另1个是TCP协议. UPD协议 是一种不靠的协议. 是因为发送方不会关心接受方的状态, 直接向接收方发送数据包, 也就是说这个数据 ...
- Qt学习笔记之UDP编程
1. UDP概述 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中 ...
- 【Linux网络编程】UDP编程
00. 目录 文章目录 00. 目录 01. 概述 02. UDP编程C/S结构 03. UDP常用函数 3.1 sendto函数 3.2 recvfrom函数 3.3 bind函数 04. 程序示例 ...
- python的基础网络编程是下列_Python入门基础之网络编程、socket编程、TCP、UDP编程...
忙了两天,继续更文!希望多多支持. 套接字 套接字是一种具有之前所说的"通讯端点"概念的计算机网络数据结构.网络化的应用程序在开始任何通讯之前都必需要创建套接字. 套接字有三种: ...
最新文章
- [笔记]解决m2eclipse给项目添加maven依赖管理时可能不给项目的build path...
- 独家 | 教你用卷积神经网络对视觉神经元进行建模(附资源)
- C++入门经典-例4.7-变量的作用域
- 低功耗蓝牙系统结构流程图
- 【技术综述】深度学习在自然语言处理中的应用发展史
- .NET如何以 回车换行符 拆分字符串?
- 一文详解图对比学习(GNN+CL)的一般流程和最新研究趋势
- 使用UltraEdit来拷贝粘贴二进制
- java integer_Java之Integer类
- 计算机考研评分标准,考研的评分标准.doc
- 华为鸿蒙原生app,华为鸿蒙开发者大赛颁奖典礼临近,鸿蒙原生应用来了
- 写在注册测绘师考完之后
- 在苹果笔记本如何使用python_苹果电脑系统如何运行python工具介绍
- 全球与中国高炉系统(钢铁厂)市场深度研究分析报告
- 怎么把QQ音乐里wav格式转换成MP3
- 高一计算机函数公式,高中全部函数公式大全
- python pyplot bar 参数_数据可视化之条形图(1):Axes.bar
- 求不规则图形外接圆的算法 (附:三角形外接圆计算公式)
- 调用图形验证码接口时,为什么要在接口后方添加随机数
- 「好书推荐」《边城》沈从文的乡土情怀代表作,汪曾祺、林徽因、曹文轩等真情推荐!