WinSocket網路模型模型原理

2021-05-28 10:16:51 字數 1171 閱讀 8013

上面這些模型區別主要是一下幾個方面

如何監控socket的變化

如何通知socket的變化

1.select :

應用場合:主要面向的是某些使用u n i x作業系統的計算機,它們採用的是b e r k e l e y套接字方案。s e l e c t模型已整合到winsock 1.1中,它使那些想避免在套接字呼叫過程中被無辜「鎖定」的應用程式,採取一種有序的方式,同時進行對多個套接字的管理.

原理: 利用select函式,我們判斷套接字上是否存在資料,或者能否向乙個套接字寫入資料.

2.wsaasyncselect :

應用場合:用於幫助應用程式開發者面向一些早期的16位windows平台(如windowsforworkgroups),適應其「落後」的多工訊息環境。應用程式仍可從這種模型中得到好處,特別是它們用乙個標準的windows例程(常稱為「winproc」),對視窗訊息進行管理的時候。該模型亦得到了microsoftfoundationclass微軟基本類,mfc)物件csocket的採納,

原理:利用wsaasyncselect來處理fd_read、fd_write、fd_accept、fd_connect、fd_close訊息

3 wsaeventselect:

應用場合: 各種非同步socket 程式. wsawaitformultipleevents 限制最多只能等待64個event .

原理: 將socket的各種變化通過event來通知區別wsaasyncselect 視窗訊息來通知

應用場合: 與wsaeventselect模式類似

原理: 將socket的各種變化通過event來通知 並多了乙個繫結的event處理過程.

5.completionport:

應用場合: 完成埠」模型是迄今為止最為複雜的一種i / o模型。然而,假若乙個應用程式同時需要管理為數眾多的套接字,那麼採用這種模型,往往可以達到最佳的系統效能!但不幸的是,該模型只適用於windows nt和windows 2000作業系統。因其設計的複雜性,只有在你的應用程式需要同時管理數百乃至上千個套接字的時候,而且希望隨著系統內安裝的c p u數量的增多,應用程式的效能也可以線性提公升,才應考慮採用「完成埠」模型

原理: 完成埠模型要求我們建立乙個wi n 3 2完成埠物件,通過指定數量的執行緒,對重疊i / o請求進行管理,以便為已經完成的重疊i / o請求提供服務

神經網路模型模型轉ONNX

近期由於業務需要,需要將訓練好的模型轉為onnx格式,為此頗費了一番功夫,在此總結一下吧。1 onnx是一種神經網路模型儲存的中間格式,支援多種格式的模型轉為onnx,也支援使用onnx匯入多種格式的模型,具體見目前其實onnx對於模型的支援還不是太好,主要表現在一些op還不能夠支援 2 在pyto...

星型模型 vs 雪花型模型

總結在多維分析的商業智慧型解決方案中,根據事實表和維度表的關係,又可將常見的模型分為星型模型和雪花型模型。在設計邏輯型資料的模型的時候,就應考慮資料是按照星型模型還是雪花型模型進行組織。當所有維表都直接連線到 事實表 上時,整個 就像星星一樣,故將該模型稱為星型模型,如圖 1 星型架構是一種非正規化...

星型模型和雪花型模型比較

一 概述 在多維分析的商業智慧型解決方案中,根據事實表和維度表的關係,又可將常見的模型分為星型模型和雪花型模型。在設計邏輯型資料的模型的時候,就應考慮資料是按照星型模型還是雪花型模型進行組織。當所有維表都直接連線到 事實表 上時,整個 就像星星一樣,故將該模型稱為星型模型,如圖 1 星型架構是一種非...