原创 epoll詳解(三)-- ET模式實例

通過本文你會了解到: 1. 非阻塞預備知識點 2. 非阻塞server源碼 3. 運行測試(應用linux 的 nc 工具) 非阻塞預備知識點 O_NONBLOCK - 應用於socket描述符時,另之後對

原创 linux select()詳解( 三)-- TCP最簡實例

通過本文你會了解到: 1. TCP server的實例 2. TCP client的實例 3. TCP server和client的運行測試 4. TCP C/S模型的思考 約定 1. 格式爲 /**

原创 linux信號機制基礎

通過本文你會了解到: 1. 信號機制簡介 2. 信號處理函數( signal/sigaction/kill) 信號機制簡介 信號機制就是進程間相互傳遞消息的機制,又稱做軟中斷信號。就像電話一樣,你不能確定什麼時候

原创 epoll詳解(四)-- LT模式實例

通過本文你會了解到: 1. epoll LT模式實例 2. 運行測試 約定 1. 格式爲 /**/ 的註釋對程序的主要流程進行說明 2. 格式爲 // 的註釋對程序的難懂語句進行說明 #include <std

原创 判斷字符串是否爲合法整數

很簡單直接上代碼了(isValidInteger.c): #include <stdio.h> #include <string.h> #include <ctype.h> int isValidIntegerString(ch

原创 linux select()詳解(一)-- 使用及注意事項

通過本文你會了解到: 1. select()原型及參數說明 2. select()應用情景 3. select()注意事項 4. select()作定時器 原型 int select(int nfds,

原创 linux select()詳解( 二)-- UDP最簡實例

通過本文你會了解到: 1. UDP server的實例 2. UDP client的實例 3. UDP server和client的運行測試 UDP server實例(server.c) #include <

原创 網絡編程文章總目錄

網絡編程文章總目錄 1.Linux - select() 2.Linux - poll() 3.linux select()詳解(一)– 使用及注意事項 4.linux select()詳解( 二)– UDP最簡實例 5.

原创 epoll詳解(一)-- epoll在異步網絡編程中的應用

在epoll模型的講解中,這篇文章寫的非常簡單易懂,因此翻譯過來分享給大家,做爲epoll的入門。 原文地址:http://kovyrin.net/2006/04/13/epoll-asynchronous-network

原创 Linux - select()

在 Linux 編程時遇到問題最方便的就是應用 man 命令, 每一個知識點都講解得很詳細, 所以遇到問題最佳的辦法是先 man 讀懂之後再去網絡中搜資料。 爲方便閱讀,此文翻譯了 man select 的內容。 函數原

原创 宏定義中#和##的使用

通過本文你會瞭解到: 1. 宏定義中#和##的含義 2. 簡潔實例 宏定義中#和##的含義 # 的作用是將右邊宏定義參數轉換成字符串 ## 的作用是將左右兩邊的參數或字符連接起來 簡潔實例 #include

原创 Linux - poll()

linux man中poll的翻譯,poll在設計上解決了select可監聽描述符的個數限制,但在一些系統中兼容性並不是很好,因此還是建議使用select來實現簡單socket應用,翻譯此文僅對epoll()的學習做一個鋪墊。

原创 二分法查找(Binary Search)

二分查找是在有序數組中查找一個元素的算法,通過比較目標元素與數組中間元素來查找,如果目標值是中間元素則將返回中間元素位置。如果目標元素較小,則繼續查找小於中間元素部分,如果目標元素較大,則繼續查找大於中間元素部分。直到查找成功並返

原创 C語言文章總目錄

C語言文章總目錄 宏定義中#和##的使用 判斷字符串是否爲合法整數 應用正則表達式判斷IP/MAC/DNS合法性 點贊 收藏 分享 文章舉報 _zSir 發佈了37

原创 linux進程編程(一)-- fork()函數簡單應用

簡介 調用fork()函數會生成一份當前進程的副本。調用fork()的進程爲父進程,副本進程爲子進程。子進程共享父進程的代碼段,並擁有與父進程數據段,堆和棧的副本(與父進程內容相同但空間獨立)。 現在系統中應用了寫複製機制(Co