今天我们的“本地云”练手项目开工第一天,刚开完会,来记录个日报。

项目成员:

成员 职位 CSDN账号 昵称
1号 服务器(组长) https://blog.csdn.net/qq_43762191 看,未来
2号 服务器 https://me.csdn.net/qq_45792305 qq_45792305
3号 客户端 https://me.csdn.net/blackcamouflage blackcamouflage
4号 客户端 https://me.csdn.net/luyaozhima 路遥芝麻
5号 测试端 https://me.csdn.net/jxy0219 jxy0219
6号 服务器 https://me.csdn.net/weixin_44784684 若晓梦
7号 服务器
8号 客户端(组长) https://me.csdn.net/qq_42151344 MXN179
9号 客户端 https://me.csdn.net/qq_46485161 别呀
5号 测试端 https://me.csdn.net/jxy0219 jxy0219

出勤情况:

组别 出勤情况
1组 全勤
2组 服务器1号中暑了

会议内容

1、分组,分组情况如上。
2、确定项目秩序,明确组长的监督与协助职责,每日日报需要按时提交。
3、明确数据包协议:

#ifndef I_PACKET_PUBLIC_H
#define I_PACKET_PUBLIC_H

#include <string>
#include <iostream>

using namespace std;


#define MAX_LEN      256

/************接入层数据包头************/

typedef struct packet_header_st
{
    int fd;//用于前后端通信即目标客户端fd(服务器用到)
    int funcId; // 功能号
        //登录包0x01,注册包0x02,找回密码0x03,修改密码0x04

        //客户端获取文件列表0x11,上传文件0x12,下载文件0x13,共享文件0x14
        //心跳0x21

    int optid; // 操作码:请求0x00 和 应答0x01

    int usrlenth;// 包体的长度
    int packet_seq; //包序号
    int packet_sum; //包总数

    char srcAddr[6]; //预留
    char dstAddr[6]; //预留

    int syn; // 判断包头是否正确 0x04
}packet_header_t;

/************接入层数据包尾************/

typedef struct packet_tali_st//包尾,用来验证数据包的完整性
{
    int pack_tail;//设置为0x05
}packet_tali_t;

/************数据包报文整体************/

typedef struct  packet_all_st
{
    packet_header_t head;
    char body[packet_header_t::usrlenth];
    packet_tali_st tail;
    //unsigned len; //要发送的数据有效长度
}packet_all_st;


/************业务层数据包体************/

//客户端登录请求包
typedef struct login
{
    int id;
    char psw[10];       //密码
}Login_t;

//登录应答包
typedef struct res_login_st
{
    int login_ret;  //登录结果: 1-登录成功,0-登录失败
}res_login_t;

//客户端注册请求包
typedef struct Register
{
    int id; //账号
    char tel[12];	//11位手机号
    char psw[10];       //密码
}Register_t;

//注册应答包
typedef struct res_register_st
{
    int register_ret;	//注册结果: 0-注册成功,1-注册失败
}res_register_t;

//客户端修改密码请求包
typedef struct Change_PWD
{
    int id; //账号
    char psw[10];       //密码
}c_pwd_t;

//改密码应答包
typedef struct res_changepwd_st
{
    int change_ret;	//改密码结果: 0-改密码成功,1-改密码失败
}res_cpwd_t;

//找回密码请求包
typedef struct findpwd
{
    int id;
    char tel[12];
}F_Pwd_t;

//找回密码应答包
typedef struct res_findpwd_st
{
    int find_ret;	//找回结果: 0-找回成功,1-找回失败
    char pwd[20];   //密码
}res_fpwd_t;


/************请求业务交易流水请求包************/

//上传文件请求包
typedef struct UpFile
{
    int id;
}UpFile_t;

//下载视频请求包
typedef struct Download_File
{
    int user_id;    //用户ID
    char *file_id;      //文件名
}Download_t;

//文件列表请求包
typedef struct File_List
{
    char *dir_name;	//目录名
}FileList_t;

//文件列表应答包
typedef struct Res_VideoList
{
    char V[800];
}res_filelist;

#endif // PACKET_BASE_H

4、明确一些技术点:
数据包传输使用不定长包、IPC进程间通信方法采用TCP、客户端自行管理下载之后的文件、客户端自行保留历史记录等

5、今日任务:
需求分析、日报、项目进度甘特图。

我的甘特图

FTP文件管理项目(本地云)项目日报(一)_文件管理项目