tag: getqueuedcomple
//工作執行緒
dword
winapi
serverworkerthread
(lpvoid
comlpetionportid)
//首先檢查套接字上是否發生錯誤,如果發生了則關閉套接字並且清除同套節字相關的
socket_inforation
結構體if
(bytestransferred
== 0)
globalfree
(perhandledata
); globalfree
(periodata
); continue
; }
//檢查
bytesrecv
域是否等於
0,如果是,說明
wsarecv
呼叫剛剛完成,可以用從己完成的
wsarecv
呼叫返回的
bytestransferred
值更新bytesrecv域if
(periodata
->
bytesrecv
== 0)
else
//if(
periodata
->
bytesrecv
>
periodata
->
bytessend)
} }
else }
} }
}
完成埠的一個例子
來自微軟的完成埠例子,就講解一下它的使用套路吧 反正程式設計這個玩意,只要用過,自然就知道什麼回事,一次不會再看一次,學習這個玩意,無他,勤奮而已。奢談效率等等,那只是孰能生巧上的功夫。這個例子是在console下的例子,算是一個echo伺服器吧,跑起來後將在5150埠監聽,一旦有個埠連線上來,發個...
完成埠模型
最近要做一個網路方面的小東東,基於c s模式的。都說iocp可以使系統達到最佳的效能,因此我就比劃了兩下,獻醜了。抄書開始。從本質上說,完成埠模型要求建立一個windows完成埠物件,該物件通過指定數量的執行緒,對重疊i o請求進行管理,以便為已經完成的重疊i o請求提供服務。首先要建立一個i o完...
手把手教你完成埠之二 應用中的完成埠簡單模型
首要就是建立完成埠,m hcompletionport 建立完成埠 m hcompletionport createiocompletionport invalid handle value,null,0,0 第一步 等待連線到來 第二步伺服器接收連線之後,將接收連線的socket和完成埠繫結 m ...
完成埠iocp和重疊埠
windows下的iocp和 linux下的epoll epoll我還沒有研究過 都是屬於socket 網路程式設計的範疇.不過其特色是 用固定很少的執行緒去管理成千上萬個socket連線.其相當於 非同步通訊 普通socket是同步,同步 可能要一個執行緒一個socket連結 去做,由於系統可以執...
Winsock完成埠介紹
本文主要 一下windows平臺上的完成埠開發及其與之相關的幾個重要的技術概念,這些概念都是與基於iocp的開發密切相關的,對開發人員來講,又不得不給予足夠重視的幾個概念 1 基於iocp實現的服務吞吐量 2 iocp模式下的執行緒切換 3 基於iocp實現的訊息的亂序問題。一 iocp簡介 提到i...