内容简介:【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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
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》 这本书的介绍吧!