永发信息网

关于vb6的winsock控件一次性传递数据大小的问题。

答案:3  悬赏:30  手机版
解决时间 2021-04-03 22:44
关于vb6的winsock控件一次性传递数据大小的问题。
最佳答案
Winsock 主要是以TCP或UDP传输数据的,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,传输层,应用层.UDP属于运输层。

下面由下至上一步一步来看:

以太网 (Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的.这个1500字节被称为链路层的MTU(最大传输单元).但这并不是指链路层的长度被限制在1500字节,其实这个MTU指的是链路层的数据区.并不包括链路层的首部和尾部的18个字节.所以,事实上,这个1500字节就是网络层IP数据报的长度限制.因为IP数据报的首部为20字节,所以IP数据报的数据区长度最大为1480字节.而这个1480字节就是用来放TCP传来的TCP报文段或UDP传来的UDP数据报的.又因为UDP数据报的首部8字节,所以UDP数据报的数据区最大长度为1472字节.这个1472字节就是我们可以使用的字节数。

当我们发送的UDP数据大于1472的时候会怎样呢?这也就是说IP数据报大于1500字节,大于 MTU.这个时候发送方IP层就需要分片(fragmentation).把数据报分成若干片,使每一片都小于MTU.而接收方IP层则需要进行数据报的重组.这样就会多做许多事情,而更严重的是,由于UDP的特性,当某一片数据传送中丢失时,接收方便无法重组数据报.将导致丢弃整个UDP数据报。

另外,数据限制也存在两个因素:

第一,应用程序可能会受到其程序接口的限制。socket API提供了一个可供应用程序调用的函数,以设置接收和发送缓存的长度。对于UDP socket,这个长度与应用程序可以读写的最大UDP数据报的长度直接相关。现在的大部分系统都默认提供了可读写大于8192字节的UDP数据报(使用这个默认值是因为8192是NFS读写用户数据数的默认值)。

第二个限制来自于TCP/IP的内核实现。可能存在一些实现特性(或差错),使IP数据报长度小于65535字节。
全部回答
这个取决于网络缓冲区的设置
系统规定的网络包的大小,没办法的。
也可能和网卡等硬件有关。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
cisco2911初次使用未设置密码无法登陆
89÷23结果保留两位小数
老窖传奇酒M/6多少钱一瓶
我也求ヒカリヘ - miwa我给你加分可以么。?
我在亲友那买了一个剑三号,但是那个账号转手
买的羊肉后半块,发现肉中长着一个椭圆形的比
什么可以说具有热量
我喜欢他,他对我忽冷忽热,用什么句子表达较
六十多岁偏瘦老太太穿什么样衣服好看
意外怀孕怀上的孩子能要吗
惠宾商务宾馆地址好找么,我有些事要过去,
MAC地址的第一个字节的前半字节是代表什么?
丰田卡罗拉后备箱是不是不能用备用钥匙打开?
牛仔裤怎么搭衣服
cosc=1-2sinc/2的平方吗
推荐资讯
单选题下列叙述不正确的是A.工业上可用碳在高
好朋友借钱 我两个月后急需 她说三四个月才能
左推右攻的技术特点和训练方法?
桂林辣椒酱哪个牌子好,桂林的三宝应该买哪一
如图是三种化合物的结构式及分子式,则按其规
电话手表可不可以上QQ
领取资料英语怎么说,“内部领用”用英文怎么
张艺兴的巴克分会是什么?巴克是什么意思?
一边输卵管堵塞加一边卵巢囊肿,做了疏通
贫团本科大学生为什么不能享受雨露
你的工资要求是多少?
为什么手机领不了安徽移动流量
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?