libevent_test.tar.gz

  • 浏览量:1894
  • 下载量:4
  • 资料大小:0 B
  • 日期:2015-08-30
  • 上传者:小麦克
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    现在一般的物联网服务器都需要处理大量的socket链接。这些socket有个共同点:每次数据量不大,但是需要时刻保持连接。
    如果采用同步socket(每个socket使用一个线程管理,那么服务器资源消耗非常大)。
    处理这些socket的最佳方法是使用异步方法编写服务器端程序。而libevent库就是一个不错的选择。
    libevent为异步网络库,使用c语言编写。


    总体来说,libevent有下面一些特点和优势:
     * 事件驱动,高性能;
     * 轻量级,专注于网络; 
     * 跨平台,支持 windows、linux、mac os;
     * 支持多种 i/o多路复用技术, epoll、poll、dev/poll、select 和kqueue 等; 
     * 支持 i/o,定时器和信号等事件;






    这两天我的树莓派sd卡又坏了,不知道是sd质量原因还是其他原因。不想折腾了,把之前的beaglebone black拿出来玩,beaglebone black自带4gb emmc flash,什么时候树莓派要加一个就方便多了啊!


    这些开源硬件都是运行的linux系统,从系统层面来说基本一致,不影响我们的学习。






    从官网下载最新的稳定版libevent-2.0.22



    http://libevent.org/












    我在beaglebone black上进行测试,首先写个简单的定时器







    1. 解压


    tar -xzf libevent-2.0.22-stable.gz
    cd libevent-2.0.22-stable

    2. 编译




    ./configure
    make
    make install













    编译执行


    g++ -levent -o libevent_timer libevent_timer.cpp






    运行


    ./libevent_timer













    tcp 服务器测试

















    编译


    g++ -levent -o libevent_tcp libevent_tcpserver.cpp


评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换