udp Socket 发送缓冲区 最大可以为多大
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了udp Socket 发送缓冲区 最大可以为多大相关的知识,希望对你有一定的参考价值。
参考技术A 发送缓冲区可以很大,但是在真正发送数据时需要分片发送。分片发送需要满足以下条件:1、给每个udp包加上序号。
2、校验字节
每个udp包的最大大小是多少?
65507 约等于 64K
为什么最大是65507?
因为udp包头有2个byte用于记录包体长度. 2个byte可表示最大值为: 2^16-1=64K-1=65535
udp包头占8字节, ip包头占20字节, 65535-28 = 65507
如果要发送的udp报文大于65507怎么办?
需要在应用层由开发者自己分片发送. 分片的粒度最大65507字节. 系统的sendto函数是不支持大于65507字节的单包发送的.本回答被提问者采纳
winsocket udp和tcp编程,缓冲区应该设置多大?
我准备写一个消息转发程序, 例如:A程序发送消息到我的程序,那么我的程序接受消息后再转发到B程序,
但是我不知道A程序发给我的消息有多大,所以我想把我的程序的缓冲区设置成socket 能接受的最大值,请问udp和tcp的消息缓冲区最大是多少?
可能有人会问我写这个程序的原因,我在这里说一下,因为A程序只能指定接收者的IP,不能指定接收者的端口,A程序的消息是固定发去1433端口的,所以我要写一个转发器,接受A程序的消息后,再转发去B程序的55433端口。
以上是关于udp Socket 发送缓冲区 最大可以为多大的主要内容,如果未能解决你的问题,请参考以下文章
winsocket udp和tcp编程,缓冲区应该设置多大?