之前一直接從事企業管理的軟件,接觸網絡比較少。網絡方面的知識也很慘。 最近想弄下iocp。網上找了很多資料,大部分是關於c++的。delphi的比較少。 看了下,不適合剛接觸網絡的菜鳥學習! 看過fxh的blog,覺得寫的容易理解。 http ...
規划下將要出爐的IOCP。 .將接收IO數據改成內存池。 .擴展lpCompletionKey: DWORD參數.擴展套接字對象。 .借鑒java netty思路,使用decode gt handler的思路來處理客戶端數據。 內存池 擴展的套接字對象 修改后的代碼工作線程和listener 在ClientContext中使用 gt gt gt gt 后面研究Decoder ...
2013-04-22 14:27 12 2646 推薦指數:
之前一直接從事企業管理的軟件,接觸網絡比較少。網絡方面的知識也很慘。 最近想弄下iocp。網上找了很多資料,大部分是關於c++的。delphi的比較少。 看了下,不適合剛接觸網絡的菜鳥學習! 看過fxh的blog,覺得寫的容易理解。 http ...
經過研究代碼,覺得有幾個函數必須要清楚原理。才能理解代碼,清楚流程。 異步模式:類似form.show(); 阻塞模式:類似form.showModal(); WSAAccept; 當客戶端有連接請求的時候,WSAAccept函數會新創建一個套接字cSocket。 其他的參數 ...
今天把前幾天研究的代碼都整理了下。 我覺得剛開始學習IOCP,看簡單的例子更容易入門。 先截取運行圖 下面是這個是IOCP簡單測試 點擊運行服務,開啟IOCP工作線程和監聽過程。 創建客戶端連接是使用的idtcpClient. 發送字符,使用idtcpClient ...
剛剛的測試,服務端上圖 開了5個客戶端<每個客戶端1000>進行測試。 內存視乎不是很多。客戶端的發過來的數據包大小在4096+88字節左右。 測試Echo測試線程 EchoTester線程 本次優化了代碼,解決了內存 ...
困擾已久的網絡通信(IOCP:完成端口),今天終於揭開她的神秘面紗了,之前百度N久還是未能理解IOCP,網絡上好多博文都沒有貼出源碼,初學者很難正在理解IOCP並自己寫出通信例子 ,經過努力,今天自己終於做出了簡單的測試程序,下面貼出源碼,水平有限,難免有錯,希望不要誤人子弟。 1、Svr ...
一、UDP套接字 服務端 客戶端 二、進程相關定義 進程是指程序的運行過程。每個進程都擁有自己的地址空間、內存、數據棧以及其他用於跟蹤執行的輔助數據。 多道技術:內存中同時存入多個程序,cpu從一個進程快速切換到另一個,使得每個進程各自運行幾十或幾百毫秒 ...
剛學編程的時候,我買了一本《Python基礎教程(第二版)》,讀到網絡編程,我看到一個詞——“套接字(socket)”,這是什么意思呢,書里說“套接字基本是兩個端點的程序之前信息通道”,可還是不明白“套接字”這三個字是什么意思,之后我也沒有認真看完這本書,這個疑惑就這樣一直隨着我到現在。直到昨天 ...
,以數據包為單位。協議的細節不再贅述,本次提供兩種協議的最基礎套接字編程模型。 API ...