core_framework - 轻量级 lua 网络开发框架


BSD-3-Clause
跨平台
C/C++

软件简介

core_framework 是一个基于 libev 的轻量级 lua 网络开发框架。

cf使用lua脚本语言进行服务端业务逻辑开发, 在其内部实现了多种网络协议与第三方库用来帮助使用者进行项目原型的快速开发.

cf在底层网络、定时器封装自C语言编写的Libev网络库, 极大程度减少C语言使用者的重复学习成本.

cf的httpd内嵌websocket支持, 方便使用者在复用端口的同时也可以享受长连接编写的乐趣.

cf的C代码与lua封装的框架内部实现源码仅几千行,同时在源码包含了一系列中文注释方便大家阅读与code review.

优点:

  • 基于libev的高性能事件循环与lua语言的开发效率, 极大程度的减少开发者的开发时间与学习成本;

  • cf底层实现了自己的lua版的Socket(TCP与UDP), 支持IPv4与IPv6性能更高并且速度更快;

  • 为socket添加了ssl支持(openssl/libressl), 在使用https等协议时不依赖第三方进行代理请求;

  • 实现了lua版的非阻塞DNS解析与缓存, 解决了libev没有内置dns库的诟病;

  • 基于目前业界最快的picohttp解析器, 手动开启-msse4后速度更快;

  • http request body自动判断、支持多file上传、multi-part/form-data多参数上传;

  • 实现了Websocket协议支持(RFC6455), 内置在httpd库内部;

  • 实现了超简单的httpc库, 非常方便请求第三方接口进行数据交互(支持自定义header);

  • 基于redis与mqtt 相关订阅发布API实现的MQ, 长连接推送更加简单;

  • 包含了第三方数据交换格式解析库(json/xml)等;

  • 包含了第三方html template库, 不用修改就可以使用;

  • CacheDB库的封装, 保证持久层与缓存层的使用简洁;

  • 基于文本协议实现了SMTP协议的, 支持发送文本/html邮件.

  • 其它....