原创 爲skynet的crypt庫擴展一些加密(摘要)算法支持

改造起因 在上篇文章, 我描述了爲skynet添加穩定的websocket支持的起始並闡述了這麼做的原因. 這幾天在測試的時候發現, 當使用skynet內置的httpc庫的時候會遇見crypt缺少一些我需要用到的算法(例如: crc、sha

原创 Lua Web快速開發指南(10) - 利用MQ實現異步任務、訂閱/發佈、消息隊列

本章節我們將學習如何使用MQ庫. MQ庫簡介 MQ庫實現了各類消息代理中間件(Message Broker)的連接協議, 目前支持:redis、mqtt、stomp協議. MQ庫基於上述協議實現了: 生產者 -> 消費者與訂閱 -> 發佈模

原创 Lua Web快速開發指南(9) - 使用cf內置的異步庫

API 介紹 cf框架提供內置的異步庫cf, 需要使用的時候我們必須先導入API: local cf = require "cf". 定時器與循環定時器 cf庫內置了一些定時器方法, 這些方法爲開發者提供了對時間事件的控制能力. cf.ti

原创 爲skynet移植一個lua-websocke庫

簡介 目前大部分遊戲、移動互聯網、H5客戶端主要由JavaScript、Lua、C#、C++等語言進行邏輯開發, 其主要通訊方案便是基於HTTP協議的接口請求與Websocket的推送方案. 起因 skynet內部實現了一套同步非阻塞soc

原创 Lua Web快速開發指南(8) - 利用httpd提供Websocket服務

Websocket的技術背景 WebSocket是一種在單個TCP連接上進行全雙工通信的協議, WebSocket通信協議於2011年被IETF定爲標準RFC 6455並由RFC7936補充規範. WebSocket使得客戶端和服務器之間的

原创 lua web快速開發指南(7) - 高效的接口調用 - httpc庫

httpc庫基於cf框架都內部實現的socket編寫的http client庫. httpc庫內置SSL支持, 在不使用代理的情況下就可以請求第三方接口. httpc支持header、args、body、timeout請求設置, 完美支持各

原创 lua web快速開發指南(6) - Cache、DB介紹

"數據庫"與"緩存"的基本概念 數據庫與緩存是服務端開發人員的必學知識點. 數據庫 "數據庫"是一種信息記錄、存取的虛擬標記地點的集合統稱. 比如現實生活中, 我們經常會用到文件櫃、書桌等等數據存取容器. 在對容器進行數據存取的時候, 我們

原创 lua web快速開發指南(3) - 初識httpd庫路由

本章假設您已經知道httpd server如何快速搭建, 並且知道cf的啓動流程與運行流程, 知曉httpd如何創建與啓動. 回顧上一章節 -- script/main.lua local httpd = require "httpd" l

原创 lua web快速開發指南(2) - cf的運行機制簡介與基於httpd庫的開發環境搭建

從本章開始假設大家都熟悉lua語法. 運行流程 在上一章節學會了如何安裝cf後, 本章節就會介紹cf到運行機制與httpd的server搭建! cf是一個非常典型的基於協程的事件驅動開發框架在封裝成API後, 可以依賴事件循環執行一套穩定運

原创 lua web快速開發指南(1) - 初識cf框架

作者: 水果糖的小鋪子(CandyMi) cf是什麼? cf全稱爲: CoreFramework. 一個基於Reactor事件驅動與協程的lua高性能網絡框架, 目前主要面向HTTP Application開發. cf內部主要實現了包括HT

原创 lua web快速開發指南(5) - 利用template庫構建httpd模板引擎

介紹template 模板引擎是爲了使用戶界面與業務數據(內容)分離而產生的, 其本身並不是一種深奧的技術. template模板引擎首先會將合法的模板編譯爲lua函數, 然後將模板文件和數據通過模板引擎生成一份HTML代碼. cf的adm

原创 lua web快速開發指南(4) - 詳細瞭解httpd庫的作用

httpd庫是基於HTTP 1.1協議實現而來, 內置了高性能的http協議解析器與urldecode解析庫. httpd庫默認情況下就能工作的很好, 但是在一些需求較爲極端的場景還是需要微調一下參數. httpd常用的內置方法介紹 1.

原创 core_framework —— 基於libev的輕量級lua網絡開發框架

大道至簡, 返璞歸真. 前言 在發表這篇博文的前夕, 還有一些小夥伴在提問一些以下相關的問題: 性能怎麼樣? 是否容易上手? 開發目標在哪? 如何反饋問題? 對比行業內的lua開源項目有何優勢? 等等, 以上問題會在