网络模块(客户端的连接动作)
2014-11-03 20:49
169 查看
一个客户端连接网络模块工作(一个连接的过程) 监听线程收到一个连接后像轮询线程的连接队列中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模块的内存池
相关文章推荐
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块 .
- [收藏]Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 彻底解决方法!
- 在网页中象GMAIL一样检测客户端是否连接到网络
- 开源中国iOS客户端学习——(六)网络连接检测
- c++ 通过网络模块Socket连接三菱PLC
- 收藏:Asp.Net 连接Oracle数据库 出现"找不到 Oracle 客户端和网络组件" 彻底解决方法!
- 【一找客户端】针对网络连接的封装
- linux socket网络编程:fcntl select(多个客户端连接服务器端情形)
- linux socket网络编程:fcntl select(多个客户端连接服务器端情形)
- CDMA 无线数据模块网络连接程序的设计与实现
- 【技术贴】锐捷校园网,360提示ipconfig.exe改变网络连接设置。不能上网,锐捷客户端认证之
- 请教:C#网络编程相关的知识,建立socket服务器时向客户端连接,就建立不了了?
- Android Jamendo开源在线音乐播放器源码分析五 网络连接模块的分析
- 网络 客户端 多种方法 建立与服务端的连接 接口:服务器名,IP socket connect
- 客户端不能连接网络的处理经过(MxrSmb/RDR错误,WorkStaion服务无法启动)
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法!(在win2003 ntfs 下IIS发布只显示登陆界面 不进入系统解决办法)
- 开源中国iOS客户端学习——(六)网络连接检测