原创 使用 acl 庫針對 C++ 對象進行序列化及反序列編程

       在開發網絡應用程序時,各個模塊之間的數據通信可謂是家常便飯,爲了應對這些數據通信時數據交換的要求,程序員發明了各種數據格式:採用二進制數據結構(早期 C 程序員)、採用 XML、採用SOAP(坑人的設計)、採用 URL 編

原创 使用 redis_builder 管理 redis 集羣

       在 <一個 C++ redis 集羣管理工具> 中主要講述瞭如何使用 redis_builder 工具創建 redis 集羣的過程,除此之外,該工具還具有更爲強大的 redis 客戶端管理功能(相對於官方提供的 redis

原创 acl 中高效會話內存池的設計

一、概述        內存管理一向是程序高效運行的保障,雖然存在着多種內存池的設計方案,但沒有一種方案是適合所有應用場景的,即某類內存池的設計可能在一類應用中是高效的,但在其它類的應用中卻未必顯得高效。區分應用場景,選擇適合的內存管理

原创 一個 C++ redis 集羣管理工具

    集羣版 redis3.0 發佈以來,官方僅提供了一個使用 ruby 寫的集羣管理工具,在創建 redis 集羣時需要使用該工具。因爲 ruby 中的一些包依賴問題,導致一些生手在建立 redis 集羣時吃盡了苦頭。於是 acl

原创 跨平臺網絡通信與服務器框架 acl-3.1.2 版本發佈

acl 3.1.2 版本發佈了,acl 是 one advanced C/C++ library 的簡稱,主要包括網絡通信庫以及服務器框架庫等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平臺;整個

原创 使用 acl 協程編寫高併發網絡服務

      本節從一個示例入手,介紹如何使用 acl 的協程模塊編寫高併發高性能的網絡服務。首先請參考下面的例子: #include "lib_acl.h" #include <stdio.h> #include <stdlib.h>

原创 acl庫使用FAQ

一、基礎問題 1、acl 庫是啥、主要包含哪些功能? acl 工程是一個跨平臺(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的網絡通信庫及服務器編程框架,同時提供更多的實用功能庫。通過該庫,用戶可以非常容易地

原创 使用 acl 內存池模塊管理動態對象

      C/C++ 最容易出問題的地方是內存管理,容易造成內存泄露和內存越界,這一直是 C/C++ 程序員比較頭疼的事情,但 C/C++ 最大的優勢也是內存管理,可以讓程序員直接管理內存,從而使程序運行更爲高效。acl 庫中的內存池

原创 使用協程方式編寫高併發的 WEB 服務

      在《使用 acl 協程編寫高併發網絡服務》中介紹了一個使用 acl 協程庫編寫高併發網絡服務的應用示例,本節將展示一個稍微複雜些且更具實際意義的例子:基於協程的 WEB 服務器程序。下面首先展示這個 WEB 服務器程序: #

原创 c++對象序列化編程實例

      在《使用 acl 庫針對 C++ 對象進行序列化及反序列編程》中介紹了 acl 庫中針對 C/C++ 的 struct 對象進行序列化和反序列化的功能,並且給出了一個簡單的例子。本文將介紹一些較爲複雜的例子。       一

原创 acl3.1.4 跨平臺網絡通信與服務器編程框架發佈了

acl 3.1.4 版本發佈了,acl 是 one advanced C/C++ library 的簡稱,主要包括網絡通信庫以及服務器框架庫等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平臺;整個

原创 網絡協程編程

一、背景  爲什麼需要網絡協程? 1、協程/纖程並不是一個新概念2、大併發、高性能對於服務端的高要求3、移動設備的快速增長加大了服務端大併發壓力4、Go 語言的興起將協程帶到了一個新的高度支持協程的編程語言:1、Go 語言,非常容易支持

原创 使用 acl 庫編寫負載均衡服務的配置指南

      在文章《使用 acl 服務器框架編寫負載均衡的應用服務》中介紹了 acl TCP 連接分配器的作用及原理,本節主要介紹 TCP 連接分配器的配置方法,及使用 acl 的服務器模板創建的應用服務子進程的配置方法(目前支持該功能

原创 [置頂] ACL編程之父子進程機制,父進程守護子進程以防止子進程異常退出

在WIN32平臺進行編程時,經常會遇到工作進程因爲程序內部BUG而異常退出的現象,當然爲了解決此類問題最好還是找到問題所在並解決它,但如果這類導致程序崩潰的BUG並不是經常出現,只有當某種條件發生時纔會有,在我們解決BUG的時間裏,爲了盡

原创 C語言中迭代器的設計與使用

  經常使用C++、JAVA等面嚮對象語言開發的程序員都會比較喜歡容器的迭代器功能,用起來方便簡潔。象一些常用的數據結構,如:哈希表、動態數組、 鏈表等,在這些面嚮對象語言中都可以非常方便地使用迭代器。當然,在C語言中也有對這些常用數據結