当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

handy

简洁高效的 C++11 网络库
授权协议 BSD
开发语言 C/C++
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 国产
投 递 者 颜均
操作系统 Linux
开源组织
适用人群 未知
 软件概览

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

多平台支持

  • Linux:ubuntu14 64bit g++4.8.1 上测试通过

  • MacOSX:LLVM version 6.1.0 上测试通过

支持优雅退出

  • 优雅退出可以让程序员更好地定义自己程序的退出行为;
  • 能够更好地借助 valrind 等工具检查内存泄露。

高性能

简洁

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

代码示例--echo-server:

#include <handy/handy.h>
using namespace handy;

int main(int argc, const char* argv[]) {
    EventBase base;
    Signal::signal(SIGINT, [&]{ base.exit(); });
    TcpServerPtr svr = TcpServer::startServer(&base, "", 99);
    exitif(svr == NULL, "start tcp server failed");
    svr->onConnRead([](const TcpConnPtr& con) {
        con->send(con->getInput());
    });
    base.loop();
}

支持半同步半异步处理

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

openssl 支持

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

protobuf 支持

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

udp支持

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

 相关资料
  • 本节将使用Gluon来更简洁地实现基于循环神经网络的语言模型。首先,我们读取周杰伦专辑歌词数据集。 import d2lzh as d2l import math from mxnet import autograd, gluon, init, nd from mxnet.gluon import loss as gloss, nn, rnn import time (corpus_

  • Qt5在C++中有丰富的网络相关的类。例如在http协议层上使用请求回答方式的高级封装类如QNetworkRequest,QNetworkReply,QNetworkAccessManageer。也有在TCP/IP或者UDP协议层封装的低级类如QTcpSocket,QTcpServer和QUdpSocket。还有一些额外的类用来管理代理,网络缓冲和系统网络配置。 这章将不再阐述关于C++网络方面的

  • 本文向大家介绍C#网络适配器简单操作,包括了C#网络适配器简单操作的使用技巧和注意事项,需要的朋友参考一下 网络的相关设置在项目开发中有较多的应用,有时候需要在项目中对网络信息进行相关设置。 现在提供提供几种相关的辅助方法类。 (1).IP地址 (2).网关地址 (3). DHCP服务器地址 (4).MAC地址 (5). 主DNS地址 (6).备用DNS地址 (7).子网掩码 (8).属性 (9)

  • 注意:本章属于 Docker 高级配置,如果您是初学者,您可以暂时跳过本章节,直接学习 Docker Compose 一节。 本章将介绍 Docker 的一些高级网络配置和选项。 当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。 同时,Docker 随机分配一个本地未

  • 1、快速配置指南 下面是一个跟 Docker 网络相关的命令列表。 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效。 -b BRIDGE or –bridge=BRIDGE –指定容器挂载的网桥 –bip=CIDR –定制 docker0 的掩码 -H SOCKET… or –host=SOCKET… –Docker 服务端接收命令的通道 –icc=true|fal

  • 本文向大家介绍jQuery实现简洁的导航菜单效果,包括了jQuery实现简洁的导航菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现的伸展收缩型菜单代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 鼠标悬浮时菜单项向上移动成蓝底白字,点击之后底部会有蓝条表示当前选中项。 页面代码,菜单的每一项都是一个 div ,其中包括一个 ul 用来放置显示文字等