导航

项目计划

Posted on 2014-03-06 17:23  生存在夹缝中  阅读(174)  评论(0)    收藏  举报

实现该场景模拟需要完成三个部分的功能:

1、client,需要完成连接,数据输入,上传,下载等功能

2、server(数据接收部分),需要完成连接,解析数据,保存,提供下载等功能

3、server(数据处理部分),需要完成本地保存和查询node,文件内保存和查询node等功能

 

一、client:

完成连接功能。

计划建立一个无限循环体,每次循环读取操作选项,确定执行一次上传或是下载操作。

上传:计划建立一个node文件,每次需要进行上传操作时顺序读取文件中的一个个node后,调用上传node函数上传至server。

 

二、server(数据接收部分)

完成连接功能。

每次收到message包之后,得到操作符并调用对应函数(上传或下载)响应

 

三、server(数据处理部分)

上传:检索所有已有文件,是否已经保存了对应的node,若有,原地覆盖,若没有,保存至本地内存,若本地内存已满,创建新文件

下载:检索本地,若有则发送(为实现功能分离,实际是从数据处理函数返回给server,server再执行发送功能),没有则继续检索所有文件,有则发送,没有发送空包。

 

附message.h

#ifndef MESSAGE_20140303
#define MESSAGE_20140303

#define KEY_LEN 32
#define VALUE_LEN 32

typedef struct Node
{
    char key[KEY_LEN];
    char value[VALUE_LEN];
}Node;

typedef struct Message
{
    int op;
    int client_num;
    Node node;
}Message;

#endif