通訊端 io 模型 小結

來源:互聯網
上載者:User

    最近複習了下socket 編程,特寫於此協助自己和大家記憶。

    通訊端 io  模型能夠完成對通訊端上進行的通訊進行管理。具體如下:

   1。select 模型:
      通過把通訊端置入集合,通過 select 函數篩選,擷取該通訊端上發生的io活動。

   2。wsaasyncselect 模型:
      將感興趣的io活動註冊到對應的通訊端,如果該活動發生就給指定表單發送
      註冊訊息。

   3。wsaeventselect 模型:
      將感興趣的通訊端活動註冊到對應的通訊端,如果該活動發生就把指定的事件變為通知狀態。等待該事件對象後查詢該事件對應的通訊端上發生的io活動。

   上述通訊端的共同點:
      1。一個線程內能夠完成對多個通訊端的管理。
      2。通訊端上發生io活動後必須同步進行讀寫操作(如果讀取大量資料時間是個問題)。

   4。overlapped 模型:
      一樣是通過事件通知機制擷取通訊端上發生的io活動。區別是作業系統協助我們管理了通訊端上進行的資料收發活動,直到該活動結束後才通過使用者線程。

   5。completionport 模型:
      同 overlapped 模型,不同點是提供了類似線程池的機制,當投遞的重疊 io 操作完成後,會調用等待該重疊io 操作完成的線程中的一個。該模型通過作業系統底層最佳化,提高了效率。同時沒有事件核心對象的單線程等待64個socket 事件的限制。
是做網路遊戲必選的通訊端模型。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.