# 一个基于C++11简单易用的轻量级网络编程框架
## 项目特点
- 基于C++11开发,避免使用裸指针,代码稳定可靠;同时跨平台移植简单方便,代码清晰简洁。
- 使用epoll+线程池+异步网络IO模式开发,并发性能优越。
- 代码经过大量的稳定性、性能测试,可满足商用服务器项目。
- 支持linux、macos、ios、android、windows平台
## 特性
- 网络库
- tcp/udp客户端,接口简单易用并且是线程安全的,用户不必关心具体的socket api操作。
- tcp/udp服务器,使用非常简单,只要实现具体的tcp/udp会话(Session类)逻辑,使用模板的方式可以快速的构建高性能的服务器。
- 对套接字多种操作的封装。
- 线程库
- 使用线程实现的简单易用的定时器。
- 信号量。
- 线程组。
- 简单易用的线程池,可以异步或同步执行任务,支持functional 和 lambad表达式。
- 工具库
- 文件操作。
- std::cout风格的日志库,支持颜色高亮、代码定位、异步打印。
- INI配置文件的读写。
- 监听者模式的消息广播器。
- 基于智能指针的循环池,不需要显式手动释放。
- 环形缓冲,支持主动读取和读取事件两种模式。
- mysql链接池,使用占位符(?)方式生成sql语句,支持同步异步操作。
- 简单易用的ssl加解密黑盒,支持多线程。
- 其他一些有用的工具。
- 命令行解析工具,可以很便捷的实现可配置应用程序
## 编译(Linux)
- 我的编译环境
- Ubuntu16.04 64 bit + gcc5.4(最低gcc4.7)
- cmake 3.5.1
- 编译
```
cd ZLToolKit
./build_for_linux.sh
```
## 编译(macOS)
- 我的编译环境
- macOS Sierra(10.12.1) + xcode8.3.1
- Homebrew 1.1.3
- cmake 3.8.0
- 编译
```
cd ZLToolKit
./build_for_mac.sh
```
## 编译(iOS)
- 编译环境:`请参考macOS的编译指导。`
- 编译
```
cd ZLToolKit
./build_for_ios.sh
```
- 你也可以生成Xcode工程再编译:
```
cd ZLToolKit
mkdir -p build
cd build
# 生成Xcode工程,工程文件在build目录下
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/iOS.cmake -DIOS_PLATFORM=SIMULATOR64 -G "Xcode"
```
## 编译(Android)
- 我的编译环境
- macOS Sierra(10.12.1) + xcode8.3.1
- Homebrew 1.1.3
- cmake 3.8.0
- [android-ndk-r14b](https://dl.google.com/android/repository/android-ndk-r14b-darwin-x86_64.zip)
- 编译
```
cd ZLToolKit
export ANDROID_NDK_ROOT=/path/to/ndk
./build_for_android.sh
```
## 编译(Windows)
- 我的编译环境
- windows 10
- visual studio 2017
- [openssl](http://slproweb.com/download/Win32OpenSSL-1_1_0f.exe)
- [mysqlclient](https://dev.mysql.com/downloads/file/?id=472430)
- [cmake-gui](https://cmake.org/files/v3.10/cmake-3.10.0-rc1-win32-x86.msi)
- 编译
```
1 使用cmake-gui打开工程并生成vs工程文件.
2 找到工程文件(ZLToolKit.sln),双击用vs2017打开.
3 选择编译Release 版本.
4 依次编译 ZLToolKit_static、ZLToolKit_shared、ALL_BUILD、INSTALL.
5 找到目标文件并运行测试用例.
6 找到安装的头文件及库文件(在源码所在分区根目录).
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
网络库 tcp/udp客户端,接口简单易用并且是线程安全的,用户不必关心具体的socket api操作。 tcp/udp服务器,使用非常简单,只要实现具体的tcp/udp会话(Session类)逻辑,使用模板的方式可以快速的构建高性能的服务器。 对套接字多种操作的封装。 线程库 使用线程实现的简单易用的定时器。 信号量。 线程组。 简单易用的线程池,可以异步或同步执行任务,支持functional 和 lambad表达式。 工具库 文件操作。 std::cout风格的日志库,支持颜色高亮、代码定位、异步打印。 INI配置文件的读写。 监听者模式的消息广播器。 基于智能指针的循环池,不需要显式手动释放。 环形缓冲,支持主动读取和读取事件两种模式。 mysql链接池,使用占位符(?)方式生成sql语句,支持同步异步操作。 简单易用的ssl加解密黑盒,支持多线程。 其他一些有用的工具。 命令行解析工具,可以很便捷的实现可配置应用程序
资源推荐
资源详情
资源评论
收起资源包目录
C++基于线程池技术实现大并发网络IO框架,一个基于C++11的轻量级网络框架 (117个子文件)
AUTHORS 233B
getopt.c 22KB
android.toolchain.cmake 80KB
iOS.cmake 9KB
FindMYSQL.cmake 4KB
AndroidNdkGdb.cmake 4KB
AndroidNdkModules.cmake 3KB
sockutil.cpp 34KB
Socket.cpp 30KB
util.cpp 19KB
logger.cpp 18KB
SSLBox.cpp 14KB
EventPoller.cpp 14KB
UdpServer.cpp 12KB
BufferSock.cpp 11KB
SSLUtil.cpp 11KB
MD5.cpp 11KB
strptime_win.cpp 10KB
File.cpp 9KB
uv_errno.cpp 9KB
SHA1.cpp 9KB
TcpServer.cpp 8KB
test_shell.cpp 7KB
local_time.cpp 6KB
TaskExecutor.cpp 6KB
base64.cpp 6KB
test_pingpong.cpp 5KB
test_resourcePool.cpp 4KB
test_sql.cpp 4KB
TcpClient.cpp 4KB
CMD.cpp 4KB
test_logger.cpp 3KB
test_noticeCenter.cpp 3KB
test_delayTask.cpp 2KB
Server.cpp 2KB
PipeWrap.cpp 2KB
test_tcpClient.cpp 2KB
test_ssl.cpp 2KB
test_ringBuffer.cpp 2KB
test_semaphore.cpp 2KB
test_tcpEchoServer.cpp 2KB
test_udpSock.cpp 2KB
test_pipe.cpp 2KB
test_threadPool.cpp 2KB
test_eventPoller.cpp 2KB
Pipe.cpp 2KB
mini.cpp 2KB
test_threadPoolBenchmark.cpp 2KB
test_timer.cpp 1KB
Session.cpp 1KB
Timer.cpp 1KB
WorkThreadPool.cpp 1KB
SelectWrap.cpp 1KB
test_variant.cpp 965B
Buffer.cpp 872B
SqlPool.cpp 628B
NoticeCenter.cpp 516B
Socket.h 19KB
uv_errno.h 16KB
RingBuffer.h 13KB
logger.h 12KB
CMD.h 12KB
Buffer.h 11KB
sockutil.h 10KB
EventPoller.h 8KB
SqlConnection.h 8KB
SqlPool.h 8KB
tailor.h 7KB
util.h 7KB
TaskExecutor.h 6KB
SSLBox.h 6KB
ResourcePool.h 6KB
TcpClient.h 5KB
NoticeCenter.h 5KB
mini.h 5KB
SSLUtil.h 4KB
getopt.h 4KB
List.h 4KB
File.h 4KB
TimeTicker.h 4KB
ThreadPool.h 4KB
UdpServer.h 4KB
TcpServer.h 4KB
Session.h 3KB
MD5.h 3KB
threadgroup.h 2KB
base64.h 2KB
Server.h 2KB
BufferSock.h 2KB
TaskQueue.h 2KB
semaphore.h 2KB
WorkThreadPool.h 2KB
function_traits.h 1KB
SpeedStatistic.h 1KB
onceToken.h 1KB
Timer.h 1KB
SHA1.h 983B
Pipe.h 871B
PipeWrap.h 828B
SelectWrap.h 815B
共 117 条
- 1
- 2
资源评论
- weixin_387940462023-08-17发现一个宝藏资源,资源有很高的参考价值,赶紧学起来~
- tkzdhx2023-03-05资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
- mountianfire1232024-01-20资源很实用,内容详细,值得借鉴的内容很多,感谢分享。
Python代码大全
- 粉丝: 2725
- 资源: 689
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功