原创 《網絡編程》線程

線程基本函數         當一個程序被啓動時,只有一個主線程,若要實現對其他線程的基本操作,首先必須創建新的線程,新的線程創建可以使用 pthread_create 函數實現,該函數的 API 定義如下: /* 函數功能:創建新的

原创 CSDN博客之星投票地址

希望各位網友幫忙投下票,每天均可投一票,投票地址《CSDN博客之星投票地址》,謝謝大家的支持,參選人就職於騰訊,他的博客地址http://blog.csdn.net/mmc_maodun

原创 Nginx 基本數據結構

概述         在學習 Nginx 之前首先了解其基本的數據結構是非常重要的,這是入門必須瞭解的一個步驟。本節只是簡單介紹了 Nginx 對基本數據的一種封裝,包括 基本整型數據類型、字符串數據類型、緩衝區類型以及 chain 數據

原创 Nginx 啓動初始化過程

Nginx 啓動過程 Nginx 的啓動初始化由 main 函數完成,該函數是整個 Nginx 的入口,該函數完成 Nginx 啓動初始化任務,也是所有功能模塊的入口。Nginx 的初始化工作主要是一個類型爲 ngx_cycle_t 類型

原创 epoll 解析

概述         epoll 實際上是 poll 的一種改進,它可以處理大批量的句柄。而 poll 又是select 的一種改進。在select 中對所打開的文件描述符個數有一定的限制,該限制由 FD_SETSIZE 設置(一般爲

原创 2014寫CSDN博客有感

        一年又過去了,在計算機世界裏度過了充實的一年。在這一年中真是可謂進步不少,使我更堅定沿着這條路走下去。         記得很早之前接觸 CSDN 這個社區是因爲需要下載資源,由於當時下載的資源是需要積分的,所有就註冊了

原创 《網絡編程》原始套接字 ---ping程序實現

概述         基於字節流套接字(SOCK_STREAM)和數據報套接字(SOCK_DGRAM)不可以訪問傳輸層協議,只是對應用層的報文進行操作,傳輸層的數據報格式都是由系統提供的協議棧實現,用戶只需要填充相應的應用層報文,由系統完

原创 《網絡編程》帶外數據

帶外數據         有些傳輸層協議具有帶外(Out Of Band,OOB)數據的概念,用於迅速通告對端本端所發生的重要事件。因此,帶外數據比普通數據(也稱爲帶內數據)有更高的優先級,它應該總是立即被髮送,而不論發送緩衝區中是否有排

原创 Nginx 隊列雙向鏈表結構 ngx_queue_t

隊列鏈表結構         隊列雙向循環鏈表實現文件:文件:src/core/ngx_queue.h/.c。在 Nginx 的隊列實現中,實質就是具有頭節點的雙向循環鏈表,這裏的雙向鏈表中的節點是沒有數據區的,只有兩個指向節點的指針。需

原创 Nginx 數組結構 ngx_array_t

概述         本節源碼來自 src/core/ngx_array.h/.c。Nginx 源碼的數組類似於前面介紹的《STL源碼剖析——序列容器之 vector》,在 Nginx 數組中,內存分配是基於內存池的,並不是固定不變的,也

原创 Nginx 紅黑樹結構 ngx_rbtree_t

概述         有關紅黑樹的基礎知識在前面文章中已經做了介紹,想要更詳細的瞭解紅黑樹可以參考文章《數據結構-紅黑樹》,在這裏只是單純對 Nginx 中紅黑樹源碼的解析,Nginx 紅黑樹源碼是實現跟算法導論中的講解是一樣的。 紅黑樹

原创 Nginx 鏈表結構 ngx_list_t

鏈表結構         ngx_list_t 是 Nginx 封裝的鏈表容器,鏈表容器內存分配是基於內存池進行的,操作方便,效率高。Nginx 鏈表容器和普通鏈表類似,均有鏈表表頭和鏈表節點,通過節點指針組成鏈表。其結構定義如下: /

原创 Ubuntu 設置環境變量

概述                 Linux 系統包含兩類環境變量:系統環境變量和用戶環境變量。系統環境變量對所有系統用戶都有效,用戶環境變量僅僅對當前的用戶有效。以下是在 Ubuntu 12.04 系統中的設置。 用戶環境變量通常

原创 Nginx 中的 upstream 與 subrequest 機制

概述         Nginx 提供了兩種全異步方式與第三方服務進行通信:upstream 和subrequest。upstream 在與第三方服務器交互時(包括建立TCP 連接、發送請求、接收響應、關閉TCP 連接),不會阻塞Ngi

原创 Nginx 哈希表結構 ngx_hash_t

概述         關於哈希表的基本知識在前面的文章《數據結構-哈希表》已作介紹。哈希表結合了數組和鏈表的特點,使其尋址、插入以及刪除操作更加方便。哈希表的過程是將關鍵字通過某種哈希函數映射到相應的哈希表位置,即對應的哈希值所在哈希表的