首页 > 代码库 > 网络模块(客户端的连接动作)
网络模块(客户端的连接动作)
一个客户端连接网络模块工作(一个连接的过程)监听线程收到一个连接后像轮询线程的连接队列中push一个conn_queue_item,然后向soketpair中写入一个字节此时子线程就是自动调用设置的事件,然后从连接队列中pop一个socket然后创建一个机遇socket的bufferevent在createChannel中回调void TCPServer::on_connect(int channel_id){ packet pkt; pkt.size = (int)link_stat::link_connected; pkt.channel_id = channel_id; pkt.is_data = false; from_net_push_pkt(pkt);//向无锁队列中插入一个包}在net初始化的过程中创建了一个线程,专门从net无锁队列中取包,然后放入共享内存中具体:在net线程中从TcpServer的无锁队列中取出包,然后放入共享内存中libevent连接的回调把包放入无锁队列,然后net线程从无锁队列中取包放入共享内存中,这里面没有涉及到net模块的内存池
网络模块(客户端的连接动作)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。