当前位置: 首页 > news >正文

好的活动策划网站湖州市南浔区建设局网站

好的活动策划网站,湖州市南浔区建设局网站,花都区水务建设管理中心官方网站,谷歌风格wordpress提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言管理的字段连接内存管理对象 前言 我们的网络通信框架使用的muduo库#xff0c;而在mudu库中是已经有了连接的概念#xff0c;但是我们呢还有一个信道的概念… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言管理的字段连接内存管理对象 前言 我们的网络通信框架使用的muduo库而在mudu库中是已经有了连接的概念但是我们呢还有一个信道的概念muduo库是没有的。其实muduo库是有一个channel的概念的只不过这个概念和我们这里的channel不一样。 这也就是我们要封装这个模块的意义。 管理的字段 有一个信道内存管理句柄因为一个连接上可以有多个信道。 class Connection{private:muduo::net::TcpConnectionPtr _conn;ProtobufCodecPtr _codec;VirtualHost::ptr _host;ConsumerManager::ptr _cmp;ThreadPool::ptr _pool;ChannelManager::ptr _channels;}提供了三个操作分别是的打开信道关闭信道和获取指定信道。 就是调用信道内存管理句柄进行操作。 打开信道和关闭都是需要给客户端返回响应的。 void openChannel(const openChannelRequestPtr req){bool ret _channels-openChannel(req-cid(),_host,_cmp,_codec,_conn,_pool);if(ret false){return basicResponse(false,req-rid(),req-cid());}return basicResponse(true,req-rid(),req-cid()); }void closeChannel(const closeChannelRequestPtr req){_channels-closeChannel(req-cid());return basicResponse(true, req-rid(), req-cid()); }Channel::ptr getChannel(const std::string cid){return _channels-getChannel(cid); }连接内存管理对象 服务器上可能会存在多条链接因此我们也需要把连接管理起来 通过一个哈希表建立tcp连接和连接管理对象的映射。 class ConnectionManager{private:std::mutex _mutex;std::unordered_mapmuduo::net::TcpConnectionPtr,Connection::ptr _conns;}提供三个操作新建连接。关闭连接和获取指定连接。 在服务器中就需要管理这个句柄就可以管理所有的channel了。 void newConnection(const VirtualHost::ptr host,const ConsumerManager::ptr cmp,const ProtobufCodecPtr codec,const muduo::net::TcpConnectionPtr conn,const ThreadPool::ptr pool){std::unique_lockstd::mutex lock(_mutex);auto it _conns.find(conn);if (it ! _conns.end()) {return ;}Connection::ptr self_conn std::make_sharedConnection(host,cmp, codec, conn, pool);_conns.insert(std::make_pair(conn, self_conn)); }void delConnection(const muduo::net::TcpConnectionPtr conn){std::unique_lockstd::mutex lock(_mutex);_conns.erase(conn);}Connection::ptr getConnection(const muduo::net::TcpConnectionPtr conn){std::unique_lockstd::mutex lock(_mutex);auto it _conns.find(conn);if (it _conns.end()) {return Connection::ptr();}return it-second;}
http://www.eeditor.cn/news/123496/

相关文章:

  • 网站专题页面怎么做wordpress绝对路径图片不显示
  • 网站美工设计流程企业网站建设套餐费用
  • 揭阳网站制作计划江苏省城乡和住房建设厅网站首页
  • 黑龙江省营商环境建设监督局网站中山企业网站建设定制
  • 网站建设服务详细解读12306网站制作
  • 电话销售做网站推销保定清苑城市建设网站
  • 建立一个企业网站百度手机助手app免费下载
  • 上海建设网站是多少建筑培训网安全员
  • 阳高网站建设河南网站推广公司
  • 企业网站需要哪些功能自己做软件 做网站需要学会哪些
  • 做网站应该问客户什么需求新浪云搭建wordpress
  • 丰台手机网站设计杨浦企业网站建设
  • 做名片最好的网站专业网站优化关键词
  • 南京那些公司做网站昆明seo网站排名优化
  • 电子商务网站建设合同样本敬请期待换个说法
  • 怎么做网站 教学制作一个网站的步骤
  • 中小企业网站建设济南兴田德润厉害吗量品定制合伙人
  • 网站建设公司 专题制作百度教育会员
  • 鹤壁 网站建设强的网站建设公
  • 关于学院网站建设的意见自己怎么建设手机网站
  • 手机网站怎么做单页面网站排名软件优化
  • 浏览器怎么打开网站服务器连接wordpress轮播主题
  • 大连企业网站模板建站科技手抄报内容
  • 徐州设计网站wordpress term函数
  • ajax+jsp网站开发从入门到精通宿迁房产中介
  • 建立一个网站需要什么技术广州网站设计成功柚米科技
  • 青岛住房和城乡建设厅网站首页中国建设银行招聘网站通知
  • 大丰企业做网站多少钱淄博做网站的公司
  • 哪个网站可以接活做国家建设公债拍卖网站
  • 选择荣胜网络宁波网站建设wordpress的页面和首页一样