CSocket类发送文件,不知道哪位帮我讲解一下,本人搞了好久都没弄明白!
文本文件sj.txt
内容每一行一个结构,每个成员用"|"隔开,每行以以换行回车结束。文件名请求包结构
typedef struct
{
char dgtype;          // '1'—接收对方文件,‘2’—发送本地文件至对方
    char dglength[5];      // 所有域的总长度
    char sfile[80];        // 要传送的文件名
} FNAME_REQ_STRUCT;文件名响应包结构
typedef struct
{
    char dgtype;          // '2'
    char dglength[5];      //’00007’
    char respstat;         // '0'=ok, '1'= failure, '2'= refuge to recv
} FNAME_RESP_STRUCT;文件数据发送请求包结构
typedef struct 
{
    char dgtype;          // '3' 
    char dglength[5];      // 文件数据长度+7
    char sndstat;          // '0'-结束  '1'-继续  '2'-出错
    char databuf[900];     // 文件数据
} FILE_REQ_STRUCT;文件数据响应包结构
typedef struct
{
    char dgtype;          // '4'
    char dglength[5];      // ‘00007’
    char rcvstat;          // ‘0’—结束  '1'—继续  '2'—出错
} FILE_RESP_STRUCT;文件传送规程
3) 接收对方文件
a) 以FNAME_REQ_STRUCT结构数据发送文件名等数据(通信包文格式:STX+LEN+DATA+ETX+LRC)
b) 以FNAME_RESP_STRUCT结构数据接收应答数据(通信包文格式同a)
c) 以FILE_REQ_STRUCT结构接收文件数据(通信包文格式同a)
d) 以FILE_RESP_STRUCT结构发送接收应答数据(通信包文格式同a)
e) 重复c和d直到文件接收完毕4) 发送本地文件至对方
a) 以FNAME_REQ_STRUCT结构数据接收文件名等数据(通信包文格式:STX+LEN+DATA+ETX+LRC)
b) 以FNAME_RESP_STRUCT结构数据发送应答数据(通信包文格式同a)
c) 以FILE_REQ_STRUCT结构发送文件数据(通信包文格式同a)
d) 以FILE_RESP_STRUCT结构接收发送应答数据(通信包文格式同a)
e) 重复c和d直到文件发送完毕

解决方案 »

  1.   

    看得头都大了!!
    记得以前在vckbase上看到一个关于CSocket断点续传的文章,你可以找来看看。
      

  2.   

    http://www.vckbase.com/document/viewdoc.asp?id=448
      

  3.   

    1 CSocket类发送文件,不知道哪位帮我讲解一下,本人搞了好久都没弄明白! 请问你,哪里没有搞明白呢?2 这些个结构是你自定义的呀,相当于你自定义的应用层的协议啊,我看你的协议是可行的,
      你要自己实际测试一下啊。
      

  4.   

    http://expert.csdn.net/Expert/topic/1257/1257670.xml?temp=.5794489
      

  5.   

    这些是人家定义的,
    我想知道socket怎么把文件数据分段发出去