怎么将文件分包,一包一包发送,每包1K?求相关实例或者代码?

如何将文件分包,一包一包发送,每包1K???求相关实例或者代码????
如何将文件分包,一包一包发送,每包1K???求相关实例或者代码????
------解决思路----------------------

BYTE *pFileData; //文件读取后保存在这个指针指向的缓冲区内.
int len = 123456; //假设文件有这么大.

while(len>0)
{
       int sendLen = 1024; //一次发1K
       if(len < sendLen)//文件长度不足1K
       {
              sendLen = len;
       }
       send(sock, pFileData, len,0);
       pFileData += sendLen;  //移动起始发送位置
       len -= sendLen; //减去已经发送字节.
}

当然, 你也可以边读取,边发送, 过程类似.
每次读取从文件读取1k, 然后发送, 再读取, 再发送.
------解决思路----------------------
引用:
Quote: 引用:


BYTE *pFileData; //文件读取后保存在这个指针指向的缓冲区内.
int len = 123456; //假设文件有这么大.

while(len>0)
{
       int sendLen = 1024; //一次发1K
       if(len < sendLen)//文件长度不足1K
       {
              sendLen = len;
       }
       send(sock, pFileData, len,0);
       pFileData += sendLen;  //移动起始发送位置
       len -= sendLen; //减去已经发送字节.
}

当然, 你也可以边读取,边发送, 过程类似.
每次读取从文件读取1k, 然后发送, 再读取, 再发送.

我需要定义包的数量,然后再发送时,当总包数与当前包数相同时,即是发送完毕

他的代码已经足够你实现发大文件的功能了。

你对socket发送了解清楚了吗?你定义了一个包是1k,但是send()函数不一定会一次性把这1k数据发送成功。你说的一个包,可能要send多次。这样你如何判断你的一个包发送完成没有?
低下的tcp才不管你上面怎么分包,它就按字节处理。

所以你的分包需求很特殊。
如果只是发大文件,上述代码已经足够了