handy 简洁高效的 C++11 网络库开源项目

我要开发同款
匿名用户2014年08月06日
162阅读

技术信息

开源地址
https://gitee.com/yedf/handy
授权协议
BSD

作品详情

Hady是一个简洁高效的C++11网络库,支持liux与mac平台,使用异步IO模型。​

多平台支持

Liux:ubutu1464bitg++4.8.1上测试通过

MacOSX:LLVMversio6.1.0上测试通过

支持优雅退出优雅退出可以让程序员更好地定义自己程序的退出行为;能够更好地借助valrid等工具检查内存泄露。高性能liux上使用epollMacOSX上使用kqueue性能测试报告单机千万并发连接简洁

10行代码能够编写一个完整的服务器。

代码示例--echo-server:

#iclude<hady/hady.h>usigamespacehady;itmai(itargc,costchar*argv[]){EvetBasebase;Sigal::sigal(SIGINT,[&]{base.exit();});TcpServerPtrsvr=TcpServer::startServer(&base,"",99);exitif(svr==NULL,"starttcpserverfailed");svr->oCoRead([](costTcpCoPtr&co){co->sed(co->getIput());});base.loop();}支持半同步半异步处理

异步管理网络I/O,同步处理请求,可以简化服务器处理逻辑的编写。

opessl支持

异步连接管理,支持opessl连接,如果实现安装了opessl,能够找到<opessl/ssl.h>,项目会自动下载hady-ssl,由于opessl的开源协议与此不兼容,所以项目文件单独放在 hady-ssl/

protobuf支持

使用protobuf的消息ecode/decode示例在protobuf下。

udp支持

支持udp,udp的客户端采用coect方式使用,类似tcp

功能介绍

Handy 是一个简洁高效的 C++11 网络库,支持 linux 与 mac 平台,使用异步 IO 模型。 多平台支持 Linux:ubuntu14 64bit g++4.8.1 上测试通过 ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论