wsaasyncselect
模式fd_close
訊息通常會在最後乙個
fd_read
訊息之前出現,也就是說,當資料接收完之後,系統常會先傳送
fd_close
訊息,然後才傳送
fd_read(弄不明白微軟的那些程式設計師)
。所以,在執行
fd_close
之時,應該先等待最後乙個
fd_read
處理完後才能關閉連線,也就是應該在關閉連線之前讀空接收緩衝區的資料。一般做法可以是這樣,收到
fd_close
時,打上
close
標記,在
fd_read
處理中檢查這個標記,如果有,則發出呼叫
recv
()直到返回值為
0,然後關閉連線
。
訊息機制 WSAAsyncSelect
訊息機制 wsaasyncselect wsaasyncselect基於windows訊息機制非同步i o模型,為特定網路事件指定系統通知資訊.函式定義 int wsaasyncselect socket s,hwnd hwnd,unsigned int wmsg,long levent 1 引數4...
WSAAsyncSelect模型詳解
ps 這是本人第一次在csnd上寫部落格,由於水平有限,還請各位大神批評指正。一 wsaasyncselect模型介紹 wsaasyncselect模型是windows sockets的乙個非同步i o模型。應用程式可以用它在乙個套接字上接收以windows訊息為基礎的網路事件。應用程式建立套接字後...
WSAasyncSelect 非同步選擇訊息模型
wsaasyncselect 非同步選擇訊息模型適用於簡單對效率要求不太高的windows視窗程式。該模型windows為使用者封裝好了執行緒呼叫,以訊息的方式通知accep recv等事件是否已經發生,不用一直阻塞等待。下面是這種模型的簡單 實現 主要針對伺服器accept 和recv做非同步呼叫...