DSRP分析之network/

来源:互联网 发布:cda数据分析师工资 编辑:程序博客网 时间:2024/06/10 18:30

该文件夹包含network.hh/cc 和 connection.hh/cc


network.hh/cc:

    主要是包含类  class NetworkLayer: 包含clientRecord结构体数组,数组大小为定义的max,该结构体包含每个client是否连接、地址、地址长度等信息。

                                                                    该类初始化时,首先将clientRecord结构体数组的所有连接置为false,然后调用build_server,并保存sockfd,然后创建一个线程。

                                                                    该线程的参数就是该类本身(this),该线程用select监听0(stdin),sockfd,以及所有已连接的client。

                                                                    若sockfd就绪,则调用acceptNewClient;若0就绪,调用process_command;最后执行checkAllClient(逐个判断client的fd是否就绪)

                                                                    acceptNewClient封装了accept,并将地址端口信息保存到clientRecord数组中

connection.hh/cc:

    build_server : 输入port,封装了socket、bind(port:1234)、listen(最大请求队列50),并返回sockfd

    build_client:输入port、ip(字符串,最后通过gethostbyname获取ip地址),封装socket,connect并返回sockfd

0 0
原创粉丝点击