原创 c socket(轉載)

socket 目 錄 socket     1.socket()     2.bind()     3.connect()     4.listen()     5.accept()     6.send() 和

原创 世界編程大賽第一名寫的程序C 實現黑客帝國數字雨

以下是代碼片段: e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1  e11b 6 57 b8 11 1 bb 21 13 89

原创 MFC的消息響應函數

typedef struct  { UINT nMessage; UINT nCode; UINT nID; UINT nLastID; UINT nSig; int * p; }TEST; const TEST* AFXAPI MyAf

原创 TCP的擁塞避免算法

爲了防止網絡的擁塞現象,TCP提出了一系列的擁塞控制機制。最初由V. Jacobson在1988年的論文中提出的TCP的擁塞控制由“慢啓動(Slow start)”和“擁塞避免(Congestion avoidance)”組成

原创 VC實現局域網組播 C++交流羣QQ羣:77278127 非一年以上經驗勿入。

在局域網中,管理員常常需要將某條信息發送給一組用戶。如果使用一對一的發送方法,雖然是可行的,但是過於麻煩,也常會出現漏發、錯發。爲了更有效的解決這種組通信問題,出現了一種多播技術(也常稱爲組播通信),它是基於IP層的通信技術。爲了幫助讀

原创 各種排序算法的實現-6(希爾排序的實現)

    希爾排序的實現同樣也是一種插入排序,只是它比直接插入排序更加牛逼一點。 首先要說這樣一個例子, 比如現在有10個數, 我讓1,3,5,7,9 和 2,4,6,8,10.分別進行排序,那麼這將是兩組有序的序列,那麼毫無疑問,下次第1

原创 智能指針auto_ptr的簡單實現

   智能指針有很多實現方式, auto_ptr相對來說 是個比較拙劣的實現, 沒有用到引用計數。 所以用起來有很多問題。    一般來說 引用計數性的智能指針 拷貝一下 成員 計數變量加一個1.  然後當這個計數變爲0 的時候 這個實際

原创 STL的內存池的設計源碼分析和體會

   在一些 服務器端程序設計的時候, 在申請內存 一般要用到內存池。 避免頻繁的申請內存 帶來的效率問題, STL源碼的 內存池 設計的是128個字節以內 有從內存池子裏面去取,但是大於128 個字節了 直接去 malloc 了。  

原创 比較成員被聲明的順序

    在《深入探索C++對象模型》中,談到聲明的順序時候說到, 聲明變量的順序和他們實際在內存的排列順序是可以不一致的,但是大多數編譯器實現都一致, 基本上是按照其聲明的順序而排列的。    並且給出下面這段代碼 來比較任意兩個成員的排

原创 羣活動

  12月7號 也就是 下下個星期 。QQ羣77278127 ;週末全體羣員 舉行 第二次編程大賽! (第一次圓滿結束)凡是獲得 前10名着 有物質獎勵!大家如果想報名的 可以私聊我 或者 向管理員私聊!我們先確定參賽名額,比賽範圍 C+

原创 電驢 emule 源碼分析 (1)

       關於電驢emule 的源碼,網上有一個  叫劉剛的人 分析的 很多,但是如果你只是看別人的分析,自己沒有親身去閱讀代碼的話,恐怕很難  剖析整個系統。      關於emule  主要就是 連接 kad網絡部分, 搜索部分,

原创 各種排序算法的實現-11(基數排序算法)

  這種算法可謂獨樹一幟,這種算法可以完全做到不需要比較 關鍵字。 也就是說 你排序的那些數字 無需要做大小比較。          基數排序算法的基本思路如下  比如有一組數, 009,003,239, 342,039,001,232。

原创 MFC整個框架的粗略概況

    對於windows程序 ,無非是消息循環 和 窗口過程的消息處理。          無論是MFC 或者是WTL  ,都只是內部封裝,搞清楚這個過程 對於掌握框架,甚至自己製作框架都有好處。    前段時間已經分析了一下WTL的,

原创 用win32 api的方式 實現按鈕自繪

  在設置按鈕自繪的時候, 按鈕必須設置爲 所有者 自繪 這個屬性,也就是BS_OWNERDRAW屬性。 如果按鈕是直接拖到對話框的,那麼則需要勾選上所有者繪製  這個選項,如下圖        。  這是第一步。       然後就

原创 模仿MFC尋找消息響應函數指針的 核心 代碼

typedef struct  {UINT nMessage;UINT nCode;UINT nID;UINT nLastID;UINT nSig;int * p; }TEST; const TEST* AFXAPIMyAfxFindM