文件名称:LightLib:Lighting library. Socket API的封装
文件大小:30KB
文件格式:ZIP
更新时间:2024-05-22 17:32:59
C++
Light 网络库 ##开发环境 Ubuntu 12.04 LTS G++ 4.6.4 ##编程模式 单线程Reactor模式(Non-Blocking IO + IO multipling) Reactor + ThreadPool (主要是把计算任务交给线程池, IO线程只负责IO任务 ##概要说明 Light借鉴了大量muduo的代码,并对其进行简化。 Light体现了现代C++的两大风格,一是事件回调, 我们使用function/bind实现回调机制, 用户只需要向其注册回调函数即可, 必要时可以封装成class, 二是采用智能指针进行资源管理, 例如TcpConnection使用了shared_ptr管理其生命周期, 其他类采用了unique_ptr借助其销毁功能 Light的不足之处: a) 对错误的处理比较粗糙 b) 没有使用一个比较规范的日志 Light与muduo的主要差
【文件预览】:
LightLib-master
----.DS_Store(6KB)
----src()
--------ThreadPool.cpp(2KB)
--------PollPoller.cpp(3KB)
--------TcpServer.cpp(1KB)
--------Socket.h(469B)
--------TimerThread.cpp(464B)
--------InetAddress.h(1012B)
--------TcpServer.h(830B)
--------Thread.cpp(664B)
--------MutexLock.h(1KB)
--------Condition.cpp(479B)
--------Rio.cpp(2KB)
--------NonCopyable.h(318B)
--------Socket.cpp(1KB)
--------TimerThread.h(504B)
--------Exception.cpp(947B)
--------PollPoller.h(2KB)
--------Copyable.h(79B)
--------TcpConnection.cpp(2KB)
--------Rio.h(524B)
--------Exception.h(650B)
--------Thread.h(553B)
--------ThreadPool.h(982B)
--------Timer.cpp(1KB)
--------InetAddress.cpp(1KB)
--------Condition.h(381B)
--------TcpConnection.h(2KB)
--------Timer.h(576B)
----example()
--------echo2()
--------chat()
--------simple()
--------echo1()
--------textquery()
----README.md(4KB)
----Makefile(527B)
----LISENCE(1KB)
----.gitignore(14B)