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直到文件发送完毕
文本文件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直到文件发送完毕
解决方案 »
- 图片操作
- 创建动态按钮,怎么才能使他的风格与静态的风格一样?
- CTreeCtrl
- 求助,模拟鼠标点击问题
- 在ADD Member Variable时遇到的问题
- 滑动杆能否透明?
- 如何让一个线程等待,直到另一个线程结束。问题解决,立即给分。谢谢
- 请教:VC编写的Service程序在Vista操作系统下的要调整的地方
- 找一样很重要的东西
- 如何在一个MFC 单文档文件中 修改CWinApp::OnFileOpen函数
- vs2012 (rc) + windows8 (release preview)dll工程引用问题,vs2010无此问题 --结局
- 为什么我的CFileDialog 不能打开多个文件?
记得以前在vckbase上看到一个关于CSocket断点续传的文章,你可以找来看看。
你要自己实际测试一下啊。
我想知道socket怎么把文件数据分段发出去