随想录(udp经验总结)

栏目: 服务器 · 发布时间: 5年前

内容简介:【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】最新在实现udp方面的软件,有一些经验需要总结一下,以供日后参考。1、udp协议简单,共8个byte,分别是源端口、目的端口、长度、校验和。

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

最新在实现udp方面的软件,有一些经验需要总结一下,以供日后参考。

1、udp协议简单,共8个byte,分别是源端口、目的端口、长度、校验和。

2、udp没有超时重传、拥塞控制,所以单次传输的最大长度就是1个short字长。

3、udp可以绑定固定源端口,这是tcp没有办法做到的。

4、单次udp收到的报文就是你能处理的单次最大报文,不能像tcp一样循环接收。发包也是一样。

5、udp没有办法确认接收方是不是真的收到报文,如果需要自己添加ack机制。

6、udp发送的报文如果超过65536,必须分开发送,接收顺序不保证,可以自己实现序列号。

7、udp发送超过1480的报文,也会被ip自动分包。

8、udp比较适合视频、音频这种大数据量传输,即使丢失部分数据也可以接受。

9、udp比较适合一问一答模式,比如所有命令都是client发起,server只要及时处理就可以了。

注意:

学习udp最好的方式就是用 python 来学习,比如像这样,

ubuntu$ python
Python 2.7.13 (default, Dec 18 2016, 07:03:34) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> local=('0.0.0.0',10000)
>>> s.bind(local)
>>> remote=('0.0.0.0',20000)
>>> buffer='0123456789'
>>> s.sendto(buffer,remote)
10
>>> s.close()
>>>

以上所述就是小编给大家介绍的《随想录(udp经验总结)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript

JavaScript

Douglas Crockford / Yahoo Press / 2008-5 / GBP 23.99

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative b......一起来看看 《JavaScript》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具