文档章节

【码云周刊第 41 期】C++ 网络编程初学者的开源项目

码云Gitee
 码云Gitee
发布于 2017/09/14 18:49
字数 1392
阅读 3618
收藏 207
点赞 4
评论 10

码云周刊

互联网的兴起,让网络程序有了长足的发展,让我们可以通过网络编程在程序中实现计算机的通信。举个例子,当你使用浏览器访问码云时,你的计算机就和码云的某台服务器通过互联网连接起来了,然后,码云的服务器把网页内容作为数据通过互联网传输到你的电脑上。

当然,对于 C++ 网络编程的初学者,小编推荐下面6个还算不错的开源项目,希望大家能够有所收获哦 :-)

码云项目推荐

1、项目名称:基于C++11 的高性能网络服务器 evpp

项目简介: evpp 是一个基于 libevent 开发的现代化 C++11 高性能网络服务器,自带 TCP/UDP/HTTP 等协议的异步非阻塞式的服务器和客户端库,具有如下特性:

  • 现代版的 C++11接口
  • 非阻塞异步接口都是 C++11 的 functional/bind 形式的回调仿函数(不是 libevent 中的C风格的函数指针)
  • CPU 多核友好和线程安全
  • 非阻塞纯异步多线程 TCP 服务器/客户端
  • 非阻塞纯异步多线程 HTTP 服务器/客户端
  • 非阻塞纯异步多线程 UDP 服务器
  • 支持多进程模式
  • 优秀的跨平台特性和高性能(继承自 libevent 的优点)
  • 已经经过详尽的测试,并已经用于生产环境,每天承载数万亿次的网络通信
  • 非常容易安装和集成,evpp 能够很容易就打包出 deb/rpm/tar.gz 等格式的安装包

项目地址:

2、项目名称:基于 C++11 的轻量级网络框架

项目简介: 本项目是一个基于 C++11 的轻量级网络框架,基于线程池技术可以实现大并发网络 IO。项目主要的功能特性包括:

网络库:

  • tcp/udp客户端,接口简单易用并且是线程安全的,用户不必关心具体的 socket api 操作。
  • tcp 服务器,使用非常简单,只要实现具体的 tcp 会话(TcpSession 类)逻辑,使用模板的方式可以快速的构建高性能的服务器。
  • 对套接字多种操作的封装。

线程库:

  • 使用线程实现的简单易用的定时器(AsyncTaskThread)。
  • 读写锁。
  • 自旋锁。
  • 线程组。
  • 简单易用的线程池,可以异步或同步执行任务,支持 functional 和 lambad 表达式。

工具库:

  • 支持颜色高亮、代码定位、异步打印。
  • 基于智能指针的循环池,不需要显式手动释放。
  • 环形缓冲,支持主动读取和读取事件两种模式。
  • 简单易用的 ssl 加解密黑盒,支持多线程。

项目地址:

3、项目名称:基于 socks4/5 的代理服务器实现

项目简介: 本项目是一个支持 socks4/5 udp 代理协议的 socks 代理服务器实现。

项目地址:

4、项目名称:基于 C++ 的网络通信库及服务器编程框架

项目简介: acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、UDP方式、协程方式)的服务器程序,WEB 应用程序,数据库应用程序。此外,该库还提供了常见应用的客户端通信库(如:HTTP、SMTP、ICMP、redis、memcache、beanstalk、handler socket),常见流式编解码库:XML/JSON/MIME/BASE64/UUCODE/QPCODE/RFC2047 etc。

项目地址:

5、项目名称:基于协程的 C++ 网络开发框架

项目简介: 本项目是一个基于协程的C++网络开发框架,主要的特点是:

  • 跨平台:同时支持 Linux32/64、OSX64 两个平台,支持 C++11及以上;
  • 易开发:同步的方式编写代码,支持类Mina的filter过滤链、简单而不失强大;
  • 高性能:可同时处理海量连接,框架无锁设计,性能超群;
  • 多特性:代码同步调用方式、支持网络过载保护、支持空闲连接自动清理等企业级特性;

项目地址:

6、项目名称:简洁易用的 C++11 网络库

项目简介: 本项目是一个简洁易用的 C++11网络库,主要特性如下所示:

  • 支持单机千万并发连接
  • 多平台支持
  • 支持优雅退出
  • 高性能
  • 支持半同步半异步处理
  • openssl 支持
  • protobuf 支持
  • udp 支持

项目地址:

推荐阅读:

【码云周刊第 40 期】GVP 特辑(三):PHP 老司机力荐的 6 款实战项目

【码云周刊第 39 期】GVP 特辑(二):7 款 JAVA 程序开发“大杀器”

【码云周刊第 38 期】GVP 特辑(一):6款 Java WEB应用开发工具

【码云周刊第 37 期】如何从运维零基础练好日志分析与统计?

【码云周刊第 36 期】微信小程序发开必备工具

请关注码云官方微信公众号,了解更多开源项目资讯!

码云微信公众号

© 著作权归作者所有

共有 人打赏支持
码云Gitee

码云Gitee

粉丝 762
博文 91
码字总数 116536
作品 0
深圳
加载中

评论(10)

RenKaidi
RenKaidi
点赞!
kingdelee
kingdelee
mark
styleman
styleman
:expressionless: 自己搜韩国网游的泄漏代码,server端network库。经典,能看懂,知道运用,开发大型网络程序毫无压力了。
沧海一刀
沧海一刀
马克
沧海一刀
沧海一刀
1
calvinwilliams
calvinwilliams
0
小熊猫大暴走
小熊猫大暴走
acl 真的适合网络编程初学者吗?
邪恶八稚女
邪恶八稚女
1
SHIHUAMarryMe
SHIHUAMarryMe
1
树枝树叶树皮
树枝树叶树皮
1
【码云周刊第 61 期】红包利器祝你开年大吉!

码云项目推荐 如果大家有抽奖的开源项目,也可以托管到码云上,我们会及时给予推荐。最后,如果你很喜欢以下提到的项目,别忘了分享给其他人哦! 1、项目名称:红包利器 RobRedPack 项目简介...

码云Gitee ⋅ 02/08 ⋅ 0

【码云周刊第 70 期】5个精致的 CSS 框架,你都知道么?

码云项目推荐 CSS 框架是一个软件,它为你的 HTML 开发提供了许多选项以供使用,可能使得你开发网站或 web 程序更快速更简单。CSS 框架既有优点也有缺点,总的来说对于绝大多数使用者还是利大...

码云Gitee ⋅ 04/25 ⋅ 0

【码云周刊第 59 期】你想要的年会抽奖开源项目都在这里!

码云项目推荐 抽奖软件是年会、活动及大型展会的必备软件之一,用于抽取奖励、调节活动气氛。不过小编最近不开森,因为年会抽奖居然连个安慰奖都没有被抽到!下次公司年会进行策划,我要自己...

码云Gitee ⋅ 02/08 ⋅ 0

错误日志系统 - 27log

支持C语言和C++的错误日志系统27log。 简洁的错误日志系统,全套系统(未全部完成)有统一标准,你可以说它简陋,但不可阻止的是它会慢慢变得更好。 下载地址为码云平台地址。 语法: int pl...

索特127 ⋅ 04/03 ⋅ 0

springMVC 自定义400或404页面/接口

SpringMVC 自带的400或404 页面都是网页,不太适用于客户端需要的json数据, 默认的404: 默认的400页面: 如何实现对这些错误的响应自定义呢? 定义一个 ControllerAdvice 类: 在其中添加如下两个...

黄威 ⋅ 03/09 ⋅ 0

janwool/OkayPainter

OkayPainter 项目介绍 Canvas画库 软件架构 软件架构说明 安装教程 xxxx xxxx xxxx 使用说明 xxxx xxxx xxxx 参与贡献 Fork 本项目 新建 Feat_xxx 分支 提交代码 新建 Pull Request 码云特技...

janwool ⋅ 05/21 ⋅ 0

如何将 GitHub 项目导入码云?一步搞定!

码云(Gitee.com)是开源中国出品的 代码托管·协作开发 云平台,汇聚了国内众多优秀开源项目。历经 5 年打磨与沉淀,已有超过 200 万开发者选择码云,托管项目超过 300 万。我已经有了GitHu...

码云Gitee ⋅ 06/05 ⋅ 0

开源中国码云 - Gitee

Gitee (中文名:码云 ,原名 Git@OSC )是开源中国社区推出的基于 Git 的代码托管服务。托管到 Gitee 的开源项目还可以参加中国源推广计划。Git@OSC 在 GitLab 开源软件基础上做了大量的定制...

Zoker ⋅ 2013/11/11 ⋅ 69

码云和git的使用上有什么区别?

最近在看git,也准备将自己写的东西放到开源站上,初步在学的是git的使用方法,现在想问一下,git的命令和码云的命令有没区别?学完git后能否平滑的迁移到码云上?主要考虑到国内的网络速度,...

sprouting ⋅ 05/06 ⋅ 0

码云携手华为云微服务平台,有礼召集微服务示范项目

继华为云容器平台对接码云(详情)后,华为云的微服务平台也将接入码云,目前正在内测,计划本月内上线。 现在华为云和码云一起为微服务平台征集微服务示范项目。如果您的项目入选“示范项目...

码云Gitee ⋅ 04/23 ⋅ 15

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ORM——使用spring jpa data实现逻辑删除

前言 在业务中是忌讳物理删除数据的,数据的这个对于一个IT公司可以说是最核心的资产,如果删除直接就物理删除,无疑是对核心资产的不重视,可能扯的比较远,本文最主要是想通过spring jpa ...

alexzhu592 ⋅ 17分钟前 ⋅ 0

代码快速“检”“修”不是梦,阿里云MaxCompute Studio 2.9.0 新版本发布

摘要: 阿里云MaxCompute Studio 2.9.0 新版本发布,此次发布的新版本,在原有功能的基础上增加了新功能,分别是支持代码检查和快速修复;支持graph开发及调试。 近日,阿里云大数据计算服务...

猫耳m ⋅ 19分钟前 ⋅ 0

CDN caching

Incapsula应用感知CDN使用智能分析和频率分析来动态缓存内容,并最大限度地提高效率。确保可直接从RAM获取最常访问的资源,而不依赖于较慢的访问机制。 1、 静态内容缓存 Incapsula缓存静态内...

上树的熊 ⋅ 20分钟前 ⋅ 0

代码快速“检”“修”不是梦,阿里云MaxCompute Studio 2.9.0 新版本发布

摘要: 阿里云MaxCompute Studio 2.9.0 新版本发布,此次发布的新版本,在原有功能的基础上增加了新功能,分别是支持代码检查和快速修复;支持graph开发及调试。 近日,阿里云大数据计算服务...

阿里云云栖社区 ⋅ 24分钟前 ⋅ 0

密码协议(一)协议概述

区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地 作者:于中阳 来源:区块链兄弟 原文链接:http://www.blockchainbrother.com/article/86 著权归作者所有。商业转载...

-区块链兄弟- ⋅ 28分钟前 ⋅ 0

vim基础-一般模式

vim编辑器是vi编辑器的升级版本,支持颜色显示。使用yum安装vim-enhanced包。 /etc下的配置文件使用vim编辑可显示颜色,/etc下相同文件拷贝到其他目录不显示颜色。 三种模式:一般模式,编辑...

ZHENG-JY ⋅ 29分钟前 ⋅ 0

spring boot

https://www.cnblogs.com/EasonJim/p/7609911.html

vshcxl ⋅ 33分钟前 ⋅ 0

数据库中常说的steal和force到底是什么?

时长在看一些database paper的时候看到steal和no-force的字样,深入了解了一下,发现我们平时关注的redo log个undo log都是有渊源的,什么时候需要redo log,什么时候需要undo log,什么时候...

黑客画家 ⋅ 37分钟前 ⋅ 0

Mahout的推荐系统

Mahout的推荐系统 什么是推荐系统 为什使用推荐系统 推荐系统中的算法 什么是推荐系统 为什么使用推荐系统?   促进厂商商品销售,帮助用户找到想要的商品   推荐系统无处不在,体现在生...

xiaomin0322 ⋅ 39分钟前 ⋅ 0

docker里没有安装基础软件包,比如Vim,netstat, ps

一,安装VIM apt-get update 二,安装netstat命令 说明没有安装netstat工具,而该工具在 net-tools 工具包内 apt-get install net-tools 在这个时候,主要是因为apt还在运行,不能同时开两个...

aust_niuroutan ⋅ 44分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部