core_framework 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
core_framework 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
core_framework 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
core_framework 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
core_framework 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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邮件.

  • 其它....

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
我觉得实用,因为只会lua
04/14 09:27
回复
举报
直接搞CGI不就好了,要啥lua
2019/06/14 11:24
回复
举报
更多评论
2019/07/15 12:07

core_framework 0.4 发布,提供 windows 平台支持

更新日志 修复httpc的timeout字段错误的问题. 修复getsockopt在windows平台的莫名其妙段错误. 修复了MacOSX默认不使用kqueue的问题. 优化now函数的实现方法, 使用更加简单的函数实现. 优化了core.c对各种后端选择的优先级判断. 优化一大部分 C 代码, 更加清晰的代码流程管理. 优化 crypt 库代码, 增加 md5、hmac_md5、sha512、hmac_512 等算法. 增加支持平台 分离出一个 win32 的分支仅用于支持windows系统原生进行开发与调试,...

0
6
2019/07/01 08:15

cf 0.3.1发布, 持续更新与优化 Lua Web 应用框架

core_framework 是一个基于 libev 的轻量级 lua 网络开发框架。cf 使用 lua 脚本语言进行服务端业务逻辑开发, 在其内部实现了多种网络协议与第三方库用来帮助使用者进行项目原型的快速开发。 cf 在底层网络、定时器封装自 C 语言编写的 Libev 网络库, 极大程度减少 C 语言使用者的重复学习成本。 cf 的 httpd 内嵌 websocket 支持, 方便使用者在复用端口的同时也可以享受长连接编写的乐趣。 cf 的 C 代码与lua封装的框架内部实现...

0
4
2019/06/14 04:59

cf v0.3 正式版发布, 一套完善的 lua Web 开发框架.

本次更新内容: new feature: 增加httpc的类封装, 用于socket复用场景、多接口并发请求支持; 新增3rd目录支持用户自动集成第三方库; 新增异步stdout日志打印方法, 定期刷新cache提升性能; 新增new_tab实现, 提升table创建效率, 减少rehash次数; httpd支持原生静态文件路由查找, 自动过滤恶意path请求; admin库新增一个语言切换标签显示方法, 适用于单语种后台开发模式; crypt库新增sha256、hmac_sha256算法, 适用于某些第三方接口...

1
17
2019/05/28 10:46

cf v0.3-RC2 发布,admin 功能增加与 bug 修复

更新一览: bug fix: 1. 修复websocket断开连接后导致的循环引用问题; 2. 修复admin before在特殊情况下Token错误判断导致401的问题; 3. 修复定时器的停止判断的问题; 4. 修复DB与Cache的初始化判断问题; 5. 修复httpc在特殊情况下导致的无法读取body问题; 6. 修复cf在容器内无响应Ctrl+c、Ctrl+\退出的问题. Code optimization: 1. 优化ltcp与TCP代码, 优化ssl的connection判断; 2. 优化websocket代码; 提高代码可读性; 3. 优化...

0
6
2019/05/23 18:41

cf v0.3-RC1,lua 的 admin 后台模板释出

更新内容: 新增admin库, lua也能方便的写web后台管理系统了. json调整, 默认允许解析稀疏数组解析. httpd新增keepalived时间的头部, 用于适配客户端. 修复DB没有字符集配置导致的插入字符乱码的问题. 为crypt库增加crc32与crc64(测试)算法, 应用于一些特殊场景. 增加url encode与decode. 解决url传参编码的问题. 增加logging库方便debug. 序列化到磁盘logs文件夹,且会自动根据时间分割文件. 重新调整了路由查找与静态文件查找方...

0
16
2019/04/25 08:36

cf 0.2.1 发布,设计了一个 logo 与一些 bug fix

一个基于libev的轻量级lua网络开发框架 —— 也许这就是你想要的美. 0.2.1 更新: 为cf设计了一个漂亮的小logo; 修复xml2lua潜在的重入问题, 并且进行了文件路径调整与wiki说明. 优化xml2lua代码性能; 新增加了lpeg库; 对luaclib内相关的编译命令进行些微调整. 修复utils文件夹命名问题; 增加了text_xml示例; 特别说明: 版本划分为: x.y.z, x与y为大版本更替, z为功能性增加与bug修复.(以后不再特殊说明) 作者一个人时间维护大量...

1
3
2019/04/15 02:12

cf 0.2 版本发布,lua 开发的另一种美

本次更新内容: 修复了一个小伙伴的编译问题 #1 ; 增加了大量可用API, 基于一些lua生态的现有库进行定制化封装; 继续完善cf的私有socket、dns、tcp、udp、ssl等底层封装库; 继续完善了http、redis、mysql、mqtt、smtp协议, 适应cf的reactor并发模型; 增加了System、cf等库, 暴露一些底层API方便使用者在特殊情况下使用; 分离了httpd的控制层(access)与业务层(handle), 方便大家编写低耦合的后端代码; 在Docker hub上增加了cf镜像...

0
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2019/06/22 08:00

.NET Framework与.NET Core

 C#是微软发布的面向对象的,运行与.NET Framework之上的高级程序设计语言,属于编译型语言,也是目前.NET Framework的主角。C#语言语法简单而优雅,同时也有着很高的开发效率,尤其是在网络编程方便有着广泛的应用。目前C#已经成为一种跨平台的语言,可以运行于Windows、Linux、Mac等其他平台上。.NET Framework包含公共语言运行时(CLR)和.NET Framework 类库,其中包括各种功能和对许多行业标准的支持。NET Framework 提供许...

0
0
发表了博客
2018/07/08 22:56

NET?.NET Framework?.NET Core?

什么是.NET?什么是.NET Framework?什么是.NET Core? https://www.cnblogs.com/1996V/p/9037603.html 什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NET的相关概念,这主要包括:CLS、CTS(CLI)、FCL、Windows下CLR的相关核心组成、Windows下托管程序运行概念、什么是.NET Framework,.NET Core,.NET Standard及一...

0
0
发表了博客
2019/10/11 14:56

[entity framework core] Entity Framework Core One to One Relationships

<font face="Comic Sans MS"> https://www.learnentityframeworkcore.com/configuration/one-to-one-relationship-configuration By Convention public class Author { public int AuthorId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public AuthorBiography Biography { get; set; } } public class AuthorBiography {...

0
0
发表了博客
2018/07/04 16:25

Entity Framework Core系列之什么是Entity Framework Core

前言 Entity Framework Core (EF Core)是微软推荐的基于.NET Core framework的应用程序数据访问技术。它是轻量级,可扩展并且支持跨平台开发。EF Core是一种对象关系映射器(ORM)。通过应用程序实体对象和关系数据库中的数据的映射,使得开发人员能够以面向对象的方式处理数据。 为什么使用ORM 大多数开发框架都包含库,这些库允许通过类似记录集的数据结构访问关系数据库中的数据。下面的代码示例演示了一个典型的场景,即数据...

0
0
发表了博客
2019/04/19 08:03

.NET Framework VS .NET Core

本文对应的原文来至 c-sharpcorner 的一篇文章,文末有链接。如有错误,还请指正。 前言 你会为你的下一个应用程序选择哪一种开发平台 - .NET Framework 或者 .NET Core?在这篇文章中,让我们比较一下这两个开发平台的特点,看能否得出一个结论。 .NET Framework 的优点 如果你是一位传统的 .NET 开发者,希望快速构建和发布应用,没有时间学习.NET Core,那么 .NET Framework 对你来说是一个不错的选择,.NET Core 可能会有一...

0
0
发表了博客
2019/11/04 15:32

.NET Framework 和 .NET Core 的差异

了解.NET Framework 和 .NET Core 的差异,并且在什么时候应该选择 .NET Core。 .NET Core是一个新的开源并且跨平台的用来构建可以所有操作系统(包括Windows, Mac, and Linux)上面运行的应用的的框架。那么你的下一个应用应该选择哪一个平台那? .NET Core ? 还是 .NET Framework?在这篇文章里面,让我们一起比较这两个平台来看是否能得出结论。 .NET Framework的优势: 如果你需要快速开发并部署一个 .NET 应用并且你没有充...

0
0
发表了博客
2019/04/19 08:58

.NET Framework VS .NET Core

原文:.NET Framework VS .NET Core 本文对应的原文来至 c-sharpcorner 的一篇文章,文末有链接。如有错误,还请指正。 前言 你会为你的下一个应用程序选择哪一种开发平台 - .NET Framework 或者 .NET Core?在这篇文章中,让我们比较一下这两个开发平台的特点,看能否得出一个结论。 .NET Framework 的优点 如果你是一位传统的 .NET 开发者,希望快速构建和发布应用,没有时间学习.NET Core,那么 .NET Framework 对你来说是一个...

0
0
发表了博客
2019/04/10 10:10

.net core Entity Framework 与 EF Core

重点讲 Entity Framework Core ! (一)Entity Framework 它是适用于.NET 的对象关系映射程序 (ORM),现在的EF6已经是久经沙场,并经历重重磨难,获得一致认可的数据访问技术(原来加 Title 也挺有意思的,哈哈哈)。 作为 ORM,EF6 降低了关系方面和面向对象的方面之间的阻抗不匹配,使开发人员能够使用表示应用程序域的强类型 .NET 对象来编写应用程序,该应用程序可与存储在关系数据库中的数据交互,同时使开发人员无需再编...

0
0
发表了博客
2019/04/10 19:07

从CLR 到framework 到 .net core 、 ASP.NET CORE

# 从CLR 到framework 到 .net core 、 ASP.NET CORE **前言:** 总有人问我,.NET CORE 是不是跟.NET 有很大区别,有哪些哪些语法有什么不同 ,你要讲讲培训培训 ,要专门讲一堂课!!- -。 我心里想了一想,.net core 和.net framework 区别讲一堂课?臣妾做不到。。。因为简单的说可能就几句话, 后面仔细想了想,往细了说可能要从 语言和框架,还有底层相关知识说起。 为了说得更清晰,我从 硬件 —— 机器语言—— CLR运行时(...

0
0
发表了博客
2019/04/10 10:10

Net Framework,Net Core 和 Net Standard 区别

  前几天我在一个群里看到有关这方面的讨论,最后感觉讨论的不是很清晰,有幸的是我们的项目去年就开始迁移NetCore的调研了,我个人多多少少也是有过这方面的研究。下面我将说一下我自己对着三个的认识如果有不足的地方,请大家指出。 大家的讨论是这个问题引起的如下: NetCore Net Framework Net Standard 最终大家想了解的是这些的区别是什么。   Net Framework 是什么     1.Net Framework 是Net的一种实现,在此类...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
32 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部