原创 C++網絡庫都幹了什麼?——CppNet

  雖然市面上已經有很多成熟的網絡庫,但是編寫一個自己的網絡庫依然讓我獲益匪淺,這篇文章主要包含: Tcp網絡庫都幹了些什麼? 編寫時需要注意哪些問題? CppNet是如何解決的。   首先,大家都知道操作系統原生的socket

原创 如何高效的管理緩存?——LoopBuffer

  我們需要一種緩存結構,可以未預知數據大小的情況下高效的管理內存。每次數據到來的時候都能保證有效的寫入,即使動態的擴展內存也不會對原有的數據進行任何挪移操作。讀取數據的時候只能順序的讀取,也不會對未讀取到的數據進行移動。   C

原创 如何通過Docker安裝Wordpress?

本文主要介紹如何在Contos 7環境中,通過docker 安裝配置 wordpress,網上的資料雖然多如牛毛,但多數是拾人牙慧,未經實踐。 安裝docker 第一步首先是安裝docker,如果之前系統中已經安裝過的話可以直

原创 如何實現可靠UDP傳輸

既然已經有TCP了,爲什麼還需要UDP可靠? TCP是強制的可靠性傳輸,其在IP協議的基礎上,發送端對所有的數據進行定時重傳,接受端對所有的數據進行排序,以此(當然還有很多其他的機制)來實現發送端是什麼樣子的,接受端就能接受到什麼

原创 mysql api的函數聲明簡介

第一部分 控制類函數 mysql_init()初始化MySQL對象 mysql_options()設置連接選項 mysql_real_connect()連接到MySQL數據庫 mysql_real_escape_string()

原创 C++服務器研發精進

一襲青衫闖帝都,回首已然四春秋。 壯志未酬心未老,撫膺身衰發已疏。 轉眼間已經工作四年有餘,回想剛畢業的懵懂無知,彷彿就在昨日,成長乎?徒增歲月矣。理想中的職業生涯應該是目標明確,按部就班的成長,一步一個腳印,就像遊戲打怪升級一樣

原创 Windows上C++連接MySql的問題

1,配置MySql數據庫,          配置環境變量,在path中加入bin的路徑         cmd中,cd到mysql的bin中,執行命令 mysqld -install         net start mysql

原创 如何用MFC創建透明畫板

如何用MFC創建透明的背景,不透明的繪畫 1,設置窗體爲全屏幕顯示 //獲取屏幕的長和寬 int iWidth = ::GetSystemMetrics(SM_CXSCREEN);int iHeight = ::GetSystemMetr

原创 string與unsigned char*的相互轉化

1,string到unsigned char*      先將string轉化爲unsigned char *        2,unsigned char*轉化爲string     先將unsigned char*轉化爲char *

原创 高效的緩存管理——LoopBuffer

  我們需要一種緩存結構,可以未預知數據大小的情況下高效的管理內存。每次數據到來的時候都能保證有效的寫入,即使動態的擴展內存也不會對原有的數據進行任何挪移操作。讀取數據的時候只能順序的讀取,也不會對未讀取到的數據進行移動。   C

原创 Envoy 源碼分析(三) --------event

#Envoy 源碼分析(三) --------event Envoy的網絡部分用的是libevent,所以其事件部分也是對libevent接口的封裝。 ####libevent 首先在libevent中對libevent的幾個基礎組件

原创 GetLastError的返回值的含義

GetLastError的返回值的含義: (0)-操作成功完成。 (1)-功能錯誤。 (2)- 系統找不到指定的文件。 (3)-系統找不到指定的路徑。 (4)-系統無法打開文件。 (5)-拒絕訪問。 (6)-句柄無 效。

原创 errno 對照表

errno 對照表 摘自Linux 4.17.3 #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file

原创 Envoy 源碼分析(二) --------buffer

Envoy 源碼分析(二) ——–buffer Envoy的buffer實現基於Libevent的evbuffer,在evbuffer的基礎上做了一些簡單的封裝,如果對evbuffer不甚瞭解的話,可以查看下這個blog:https://

原创 日誌模型

上一篇中我們將C++11的線程做了簡單的封裝,再加上消息隊列組成了一個帶有消息循環的線程模型。這篇中我們通過繼承上一篇說的類,來實現一個服務器程序常用的組件,日誌模塊。不論是服務器程序還是客戶端程序,詳細的日誌輸出都是定位問題的有利工具,