织梦CMS - 轻松建站从此开始!

皇冠投注,新皇冠足球投注,皇冠平台开户,www.1zhetuan.com

当前位置: 主页 > 新皇冠足球投注 >

而非面向对象

时间:2012-02-09 22:41来源:未知 作者:admin 点击:
Muduo 是基于 Reactor 模式的网络库,其中心是个事件轮回 EventLoop,用于响应计时器和 IO 事件。Muduo 采用基于对象(object based)而非面向对象(object oriented)的设计作风,其。 $ cd muduo/ 类图 -- chat # 聊天服务 muduo 编译办法很简单: `-- tut

Muduo 是基于 Reactor 模式的网络库,其中心是个事件轮回 EventLoop,用于响应计时器和 IO 事件。Muduo 采用基于对象(object based)而非面向对象(object oriented)的设计作风,其。

$ cd muduo/

类图
muduo_class_diagram

-- chat # 聊天服务

muduo

编译办法很简单:

`-- tutorial # 一系列 timers

$ tar zxf muduo-0.1.0-alpha.tar.gz

-- chargen # RFC 864,可测试带宽

由来

$ ./build.sh

-- roundtrip # 测试两台机器的网络延时与时间差

本文重要先容 muduo 网络库的应用,太阳城代理。其设计与实现将有另文讲授。

-- echo # RFC 862

陈硕 (giantchen_AT_gmail)

这里简单介绍各个头文件及 class 的作用,具体的介绍留赐与后的博客。

公然接口
    内部实现

      -- discard # 可用于测试带宽,服务器可多线程运行

      # 编译生成的可执行文件和静态库文件分离位于 ../build/debug/{bin,lib}

      -- daytime # RFC 867

      1. 单线程,accept 与 TcpConnection 用同一个线程做 IO。

      examples

      `-- poller # poll(2) 和 epoll(4) 两种 IO multiplexing 后端

      本文主要介绍 muduo 网络库的使用,其设计与实现将有另文讲解。

      SHA1 Checksum: 5d3642e311177ded89ed0d15c10921738f8c984c

      Muduo 的头文件明白分为客户可见跟客户不可见两类。客户可见的为白底,客户不可见的为灰底。

      $ sudo apt-get install cmake

      半年前我写了一篇《》,其中提到“我心目中幻想的网络库”的样子:

      `-- finger # finger01 ~ 07

      -- asio # 从 Boost.Asio 移植的例子

      假如要编译 release 版,可执行

      -- echo # 可用于测试带宽,服务器可多线程运行

      例子

      -- allinone # 在一个程序里同时实现下面 5 个协议

      -- inspect # 基于以上 web 服务器的“窥测器”,用于讲演过程的状况

      结语

      Muduo 依附 Boost,很轻易装置:

      -- simple # 简单网络协议的实现

      Muduo 附带了多少十个小例子,太阳城娱乐网,位于 examples 目录。其中包含从 Boost.Asio、JBoss Netty、Python Twisted 等处移植过来的例子。

      -- netty # 从 JBoss Netty 移植的例子

      目录

      Muduo 的目录构造如下。

        下载与编译

        `-- uptime # TCP 长连接

        # 编译天生的可履行文件和静态库文件分辨位于 ../build/release/{bin,lib}

        $ BUILD_TYPE=release ./build.sh

        `-- net # 网络库

        下载地址:

        -- base # 与网络无关的基本代码,已

        宣布一个基于 Reactor 模式的 C++ 网络库

        在想明白这些目的之后,我开始第三次尝试编写自己的 C++ 网络库。与前两次不同,这次我一开端就想好了库的名字,皇冠新2现金网,叫 muduo (木铎),并在 Google code 上创建了名目: 。muduo 的主体内容在 5 月底已经基础完成,当初我把它开源。

        -- hub # 一个简略的 pub/sub/hub 服务,演示利用级的播送

        -- discard # RFC 863

        后记:机能测试:

        `-- twisted # 从 Python Twisted 移植的例子

        -- time # RFC 868

        2.

        Blog.csdn.net/Solstice

        $ sudo apt-get install libboost1.40-dev # 或 libboost1.42-dev

        Muduo 的线程模型合乎我主意的 模型。每个线程最多有一个 EventLoop。每个 TcpConnection 必需归某个 EventLoop 治理,所有的 IO 会转移到这个线程,换句话说一个 file descriptor 只能由一个线程读写。TcpConnection 所在的线程由其所属的 EventLoop 决议,这样咱们可以很便利地把不同的 TCP 连接放到不同的线程去,也可以把一些 TCP 连接放到一个线程里。TcpConnection 和 EventLoop 是线程保险的,能够跨线程调用。TcpServer 直接支撑多线程,它有两种模式:

        2010 Aug 30

        线程模型

        1.

        2. 多线程,accept 与 EventLoop 在统一个线程,另外创立一个 EventLoopThreadPool,新到的衔接会按 round-robin 方法调配到线程池中。

        根本结构

        `-- timeclient # time 协定的客户端

        -- http # 一个简单的可嵌入的 web 服务器

        Muduo 是我对常见网络编程义务的总结,用它我能很容易地编写多线程的 TCP 服务器和客户端。Muduo 是我业余时光的作品,代码估量还有良多 bug,百家乐开户,功效也不完美(例如不支持 signal 处置),待日后缓缓改良吧。

        Muduo 使用了 ,请求 Linux 的内核版本大于 2.6.28 (我本人用的是 2.6.32 )。在 Debian Squeeze / Ubuntu 10.04 LTS 上编译测试通过,32 位和 64 位体系都能使用。

        3.

        编译实现之后请试运行其中的例子。比方 bin/inspector_test ,而后通过阅读器拜访 http://10.0.0.10:12345/ 或 http://10.0.0.10:12345/proc/status,其中 10.0.0.10 调换为你的 Linux box 的 IP。

        Muduo 采取 CMake 为 build system,安装方式:

        (责任编辑:admin)
        顶一下
        (0)
        0%
        踩一下
        (0)
        0%
        ------分隔线----------------------------
        发表评论
        请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
        评价:
        表情:
        用户名: 验证码:点击我更换图片