1 / 8
文档名称:

负荷分担的可靠性系统仿真2.doc

格式:doc   大小:103KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

负荷分担的可靠性系统仿真2.doc

上传人:国霞穿越 2018/10/31 文件大小:103 KB

下载得到文件列表

负荷分担的可靠性系统仿真2.doc

文档介绍

文档介绍:负荷分担的可靠性系统仿真 2
任务分析 2
根据任务具体设计 2
总控节点的设计 2
总体思路 2
详细设计 3
总控节点流程及主要函数 3
负荷节点的设计 6
总体思路 6
详细设计 6
负荷节点流程 6
测试说明 7
补充 8
负荷分担的可靠性系统仿真
任务分析
设计有三个节点的分配规则算法
进程间通讯使用套接字、规定协议(定义结构体作为消息)
、编程语言C
设计完整的测试程序
根据任务具体设计
总控节点的设计
总体思路继续监听
把处理结果发送给用户
调用处理函数根据不同请求进行处理
等待用户链接并接收用户发来的消息
初始化创建监听套
详细设计
总控节点流程及主要函数
定义变量用于套接字初始化和通讯使用
建立套接字
int socket(
int domain,//地址族的类型AF_UNIX
int type,//支持的数据格式:流SOCK_STREAM/报文SOCK_DGRAM
int protocol);//支持的协议,建议为0
返回值:成功返回文件描述符号。失败返回-1;
绑定端口
int bind( SOCKET s, //标识一未捆绑套接口的描述字
const struct sockaddr FAR* name, //赋予套接口的地址
int namelen// namelen:name名字的长度
);
sockaddr结构定义如下:
struct sockaddr{
u_short sa_family;
char sa_data[14];
};
监听
int listen(SOCKET s,//用于标识一个已捆绑未连接套接口的描述字
int backlog//等待连接队列的最大长度
);
等待用户连接
SOCKET accept( SOCKET s, //套接口描述字,该套接口在listen() 后监听连接
struct sockaddr FAR* addr,// 可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。Addr参数的实际格式由套接口创建时所产生的地址族确定
int FAR* addrlen//(可选)指针,指向存有addr地址长度的整型数
);
返回值: 成功返回一个新的套接字描述符,失败返回-1。
接收数据
int recv( SOCKET s,// 一个标识已连接套接口的描述字
char FAR* buf,// 用于接收数据的缓冲区
int len, //缓冲区长度
int flags //指定调用方式
);
返回值: 成功返回接收字节数,失败返回-1。
判断命令根据不同命令字进行节点信息的获取并做相应处理
将处理结果发回用户
int send( SOCKET s,// 一个用于标识已连接套接口的描述字
const char FAR* buf,// 包含待发送数据的缓冲区
int len, int flags//缓冲区中数据的长度
);
重复执行5-9
负荷节点的设计
总体思路初始化显示、化创建
等待总控节点链接并接收其发来的消息
根据消息中命令字进行处理发送相应数据回总控节点刷新显示内容
返回继续等待总控