扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用户数据报协议(User Datagram Protocol,缩写为UDP),又称用户数据报文协议,是一个简单的面向数据报(package-oriented)的传输层协议,正式规范为RFC 768。
创新互联是一家专注于做网站、网站设计与策划设计,济水街道网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:济水街道等地区。济水街道做网站价格咨询:028-86922220
UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。
UDP在IP数据报的头部仅仅加入了复用和数据校验。
由于缺乏可靠性且属于非连接导向协议,UDP应用一般必须允许一定量的丢包、出错和复制粘贴。
1 在接收udp包时,如果接收包时给定的buffer太小的话,就要自己解决粘包问题。
2 udp包的发送和接收不保证一定成功,不保证按正确顺序抵达。
3 如果不允许丢包的情况出现的话,要有重发机制来保证,如:反馈机制确认。
服务端
客户端
《Go语言编程》百度网盘pdf最新全集下载:
链接:
?pwd=hcru 提取码:hcru
简介:这本书从整体的写作风格来说,会以介绍 Go 语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样例。
TL;DR 在使用 Golang 编写 TCP/UDP socket 的时候,第一步做的就是地址解析。
该函数返回的地址包含的信息如下:
TCPAddr 里, IP 既可以是 IPv4 地址,也可以是 IPv6 地址。 Port 就是端口了。 Zone 是 IPv6 本地地址所在的区域。
从返回结果看该函数的参数, network 指 address 的网络类型; address 指要解析的地址,会从中解析出我们想要的 IP , Port 和 Zone 。
从源码中可以看出,参数 network 只能是如下四个值,否则会得到一个错误。
解析过程跟 ResolveTCPAddr 的一样,不过得到的是 *UDPAddr 。
UDPAddr 包含的信息如下:
《Go语言编程》(许式伟)电子书网盘下载免费在线阅读
链接:
提取码:j0if
书名:Go语言编程
作者:许式伟
豆瓣评分:7.1
出版社:人民邮电出版社
出版年份:2012-8
页数:300
内容简介:
这本书从整体的写作风格来说,会以介绍 Go 语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样例。
本书作者背景极强,许式伟为原金山WPS首席架构师、曾是盛大创新院研究员,目前是国内Go语言实践圈子公认的Go语言专家。参与本书写作的几位作者都是实际用Go语言开发的项目的开发人员,有较强的实战经验。
本书以介绍Go语言特性为主,示例则尽量采用作者开发团队平常的实践,内容涉及内存管理(堆和栈)、错误处理、OOP、并发编程等关键话题。 这本书面向的读者是所有打算用Go语言的开发者,主要包括目前使用C、C++、Java、C#的开发人员,甚至一些Python、PHP开发人员也可能转为 Go 程序员。
作者简介:
许式伟
七牛云存储CEO,曾任盛大创新院资深研究员、金山软件技术总监、WPS Office 2005首席架构师。开源爱好者,发布过包括WINX、TPL等十余个C++开源项目,拥有超过15年的C/C++开发经验。在接触Go语言后即可被其大道至简、少即是多的设计哲学所倾倒。七牛云存储是国内第一个吃螃蟹的团队,核心服务完全采用Go语言实现。
吕桂华
七牛云存储联合创始人,曾在金山软件、盛大游戏等公司担任架构师和部门经理等职务,在企业级系统和大型网游平台领域有较多涉猎。拥有十余年的C/C++大型项目开发经验,也曾在Java和.NET平台上探索多年。同样被Go语言的魅力所吸引而不可自拔,希望能为推广这门优秀的语言尽自己的绵薄之力。
Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。
Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。
Go语言能干什么?
1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发;
3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀;
4、Paas云平台领域:Kubernetes和Docker Swarm等;
5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言;
7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的;
8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流