guangxuanliu / networkExample

the example of learn network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

networkExample

源文件说明

  1. simpleServer.cpp为阻塞的方式
  2. selectServer.cpp为用select的方式
  3. epollServer.cpp为用epoll的方式
  4. libeventServer.cpp为用libevent的方式
  5. libevent文件夹为更多的libevent示例。

libevent的缺点

  1. libevent在windows下支持iocp,但还不完善,(性能不高),但是可以使用select。出处
  2. 性能不如其他网路库如muduo。出处

libevent的优点

  1. 更成熟、稳定,有较成熟的产品在用。如chromiummemcached出处1出处2

设置libevent使用某种方法

event_config_avoid_method():通过设置避免某种方法来使用其他的方法。

注意:

  1. 修改Linux下的最大打开文件个数

    vi /etc/security/limits.conf 
    *       soft    nofile  65535
    *       hard    nofile  65535
    
    
    vi /etc/pam.d/login
    session    required     pam_limits.so
    
    注销系统,重新登陆即可
    
  2. 测试连接数的工具TCP_UDP_PerformanceTest

About

the example of learn network


Languages

Language:C++ 95.2%Language:C 3.6%Language:Makefile 1.2%Language:CMake 0.0%Language:Shell 0.0%