之前一直接從事企業管理的軟件,接觸網絡比較少。網絡方面的知識也很慘。 最近想弄下iocp。網上找了很多資料,大部分是關於c++的。delphi的比較少。 看了下,不適合剛接觸網絡的菜鳥學習! 看過fxh的blog,覺得寫的容易理解。 http ...
剛剛的測試,服務端上圖 開了 個客戶端 lt 每個客戶端 gt 進行測試。 內存視乎不是很多。客戶端的發過來的數據包大小在 字節左右。 測試Echo測試線程 EchoTester線程 本次優化了代碼,解決了內存泄漏的問題。使用了fastMM,如果沒有的話,可以注釋掉。 這一篇應該是學習筆記的最后一篇了。 最后還是上傳Demo Delphi IOCP 性能測試 ...
2013-04-25 09:21 4 2368 推薦指數:
之前一直接從事企業管理的軟件,接觸網絡比較少。網絡方面的知識也很慘。 最近想弄下iocp。網上找了很多資料,大部分是關於c++的。delphi的比較少。 看了下,不適合剛接觸網絡的菜鳥學習! 看過fxh的blog,覺得寫的容易理解。 http ...
經過研究代碼,覺得有幾個函數必須要清楚原理。才能理解代碼,清楚流程。 異步模式:類似form.show(); 阻塞模式:類似form.showModal(); WSAAccept; 當客戶端有連接請求的時候,WSAAccept函數會新創建一個套接字cSocket。 其他的參數 ...
今天把前幾天研究的代碼都整理了下。 我覺得剛開始學習IOCP,看簡單的例子更容易入門。 先截取運行圖 下面是這個是IOCP簡單測試 點擊運行服務,開啟IOCP工作線程和監聽過程。 創建客戶端連接是使用的idtcpClient. 發送字符,使用idtcpClient ...
規划下將要出爐的IOCP。 1.將接收IO數據改成內存池。 2.擴展lpCompletionKey: DWORD參數.擴展套接字對象。 3.借鑒java netty思路,使用decode –> handler的思路來處理客戶端數據。 //內存池 ...
困擾已久的網絡通信(IOCP:完成端口),今天終於揭開她的神秘面紗了,之前百度N久還是未能理解IOCP,網絡上好多博文都沒有貼出源碼,初學者很難正在理解IOCP並自己寫出通信例子 ,經過努力,今天自己終於做出了簡單的測試程序,下面貼出源碼,水平有限,難免有錯,希望不要誤人子弟。 1、Svr ...
首先說明,下面的代碼僅是一個IOCP的demo,很多地方的設計非常差,當然也有一些設計還算可以:)。此篇僅供對IOCP有些了解但又不深入的、需要一個稍微完整示例的、對網絡編程感興趣的同學參考。點擊這里下載代碼 整個程序的流程如下: 流程完全是無阻塞的,主線程里,將收到的消息全都一次性取出后 ...
IOCP全稱I/O Completion Port,中文譯為I/O完成端口。IOCP是一個異步I/O的Windows API,它可以高效地將I/O事件通知給應用程序,類似於Linux中的Epoll,關於epoll可以參考 linux之epoll 1. 簡介 IOCP模型屬於一種 ...
簡介: IOCP(I/O Completion Port,I/O完成端口)是性能最好的一種I/O模型。它是應用程序使用線程池處理異步I/O請求的一種機制。 IOCP詳解 IOCP(I/O Completion Port,I/O完成端口)是性能最好的一種I/O模型。它是 ...