如何"设置"TCP传送中的最大包长度?--using maximun packet length to test
本人正在做一个测试程序,要求能够设置TCP传送中的最大包长度.
分别设定为64bytes, 128bytes, 512bytes,1024bytes,测试在不同情况下的TCP Performance.
通过查资料,了解到可以用下面这个语句来设定:
setsockopt(sock,SOL_SOCKET, SO_SNDBUF,(char *)&Length,sizeof(Length));
其中,
sock: 套接字句柄;
SOL_SOCKET: 设置的level;
SO_SNDBUF: 设置对象(发送缓冲区大小);
Length: 设定的长度值;(取地址);
sizeof(Length)): Length的长度;
本来认为通过这种设定能够使得发送方以Length长度发送数据,但是通过用Ethereal抓包发现数据包的长度都是1460(MTU),其大小根本没有因为设定改变为Length长度.
请问哪位高手碰到过类似的问题,该用什么方式来设定这个值,来达到我想要的效果??
非常感谢!!
using maximun packet length to test