主题:请问一个TCP数据包有多大啊
chad
[专家分:0] 发布于 2006-05-01 22:51:00
要编一个大文件传输程序,传一个100M的文件,不知道该怎么弄
所以想问高人,每个TCP数据包能传多大的数据?是不是应该把100M的这个大文件分N次传输?
谢谢了!!!
回复列表 (共6个回复)
沙发
daiwofei [专家分:10] 发布于 2006-05-02 19:05:00
现在的tcp/ip第四版上的最大的字节是65535(包括报头)字节,我想现在的tcp/ip第六版应该没有这方面的改动,要弄的更清楚只有自己查看一下.
板凳
cmaster [专家分:9520] 发布于 2006-05-02 21:00:00
大哥,你管它多大,那有不用你管
而且一般都用ftp协议传文件
如果只是一个文件怎么传都行。只要建立一个TCP连接就足够了
3 楼
chad [专家分:0] 发布于 2006-05-03 13:58:00
答非所问
4 楼
lvliang [专家分:1680] 发布于 2006-05-08 17:20:00
int my_send(int fd,void *buffer)
{
int size=strlen(buffer);
int bytesend;
int totalsend=0;
char *ptr;
ptr=buffer;
do
{
bytessend=send(fd,ptr,size-totalsend,0);
if(bytessend==-1)
break;
totalsend+=bytessend;
ptr+=totalsend;
}while(totalsend<size);
return 0;
}
5 楼
chad [专家分:0] 发布于 2006-05-11 01:28:00
万分感谢!
不过有一点不理解,
是不是把一个FILE * 赋值给void *buffer就可以了,需不需要调用fread先把数据写
进buffer再my_send出去?
thank you!!
6 楼
lvliang [专家分:1680] 发布于 2006-05-12 12:20:00
先把数据写进buffer
我来回复