RRQMSocket網絡通信框架 v4.0.20

RRQMSocket是一個整合性的、超輕量級的網絡通信服務框架。它具有高并發連接、高并發處理、事件訂閱、插件式擴展、多線程處理、内存池、對象池等特點,讓使用者能夠更加簡單的、快速的搭建網絡框架。在發送效率上,同步發送可達20w/s,異步發送可達60w/s。服務器在接收、處理效率# j ( 3 m上因線程數量而定。 支持環境: .NETFramework4.5及以上。 .NETCore3.1及以上。 .NETStandard2d Q 1 f 2 ! 7 [ b.0及i – z m K | 5 L s以上。 支持框架: WPF Winform Blazor Xamarin Mono Unity 其他(即所有C#系) 特點: 1、對象池 對象池在y g . % , ; ) dRRQMSocket有很多應8 X i I E ] 6 S D用,最主要的兩個就是連接對象池和處理對象池。連接對象池就是當客戶端成功連接時,首先會去連接對象池中找TcpSocketClient,然後沒有的話,才會創建d ) a。如果哪個客戶端掉線了,它的TcpSocketClient就會被回收。這也就是ID重用的原因。 然後就是處理對象池,在RRQMSocket中,接收數據的線程和IOCP内核線程是分開的,也就是比如說客戶端給服務器發送了1w條數據,但是服務器收到後處理起來很慢,那傳統的iocp肯定會放慢接收速率,然後通知客戶端的tcp窗口,發生擁塞,然後讓客戶端暫緩發送。但是在RRQMSocket中會把收到的數據通過隊列全都存起來,首先不影響iocp的接收,同時再分配線程去處理收到的報文信息,這樣就相當于一個“洩洪湖泊”,能很大程度的提高處理數據的能力。 2、多線程 由于有處理對象池的存在,使多線程處理變得簡單。在客戶端連接完成時,會自動分配該客戶端6 p ) 5 $輔助類(TcpSocketClient)的消息處理邏輯線程,假如服務器線程數量爲? @ * 7 N J I10,則第一個連接的客戶端會被分配到0号T C e M 3 j I ; +線程中,第二個連接将o p f C % z z ^被分配到1号線程中,以此類推,循環分配。當某個客戶端收到數據時,會将數據排入當前線程所獨自擁有的隊列當中,并喚醒線程執行。 3、傳統IOCP和RRQMSocket RRQMSocket的IOCP和傳統也不一樣的,以微軟官方爲例,使用MemoryBuffer開辟一塊内存,然後均分,然後給每個會話分配一B 5 H S x $個區接收,等收到數據以後,再複制一份,然後把複制的數據抛出處理。而RRQMSocket是每次接收之前,從内; + V存池拿一個可用内存塊,然後直W k 8 y ] S n接用于接收,等收到數據以後,直接就[ r c ! 2 1 P 7 4把這個内存塊抛出去了,這樣就避免了複制操作,雖然隻是細小的設計,但是在傳輸1000w次64kb的數據時,性能相差了10倍。所以也是基于此,文件傳輸時效率才會高。 4、數據處理适配器 相信大家都使用過其他的Sock0 # c o ]et産品,例如HPSocket,SuperSocket等,那麽RRQMSocket在設計時S 8 b ^ n Y m 0 也是借鑒了其他産品的優秀設計理念J / * ,,數據處理适配器就是其中之一,$ N g C但和其他産品的設計不同的是,RRQMSocket的适配器功能更加強大,它可以無視真實的數據,而模拟出想要的數據,例如:可以對數據進行預處理,從而解決數據分包。粘包的問題,也可以直接解~ 7 , ,析HTTP協議,經過适配器處理後傳回一個HttpRequL 0 $est對象等。 5、粘包、分包解決 在RRQMSoF g g 8 cket中處理TCP} g A 3 p _ L粘包、分包問題是非常簡單的。隻需要更改不同的數據處理适配器即可。例如:使用固定包頭,隻需要給TcW & 1 xpSocketClient和TcpClient賦值FixedHeaderDataHandlingAdapter的實例即可。同樣對應的處理器也有固定長度、終止字符分割等。
RRQMSocket網絡通信框架 v4.0.20
資源下載
下載價格14.9 USDT
VIP免費
站長Telegram:@languifang8
免責聲明 1、本網站名稱:TT源碼網
2、本站永久網址:https://www.ttym.cc
3、所有資源均來自網絡,本站不儲存任何資源,所有源碼僅供美工參考和源代碼學習(包括付費源碼),不保證可用性,不支持任何形式退款,禁止商用。
4、本網站的文章部分内容可能來源于網絡,僅供大家學習與參考,如有侵權,請聯系站長進行删除處理。
5、本站一切資源不代表本站立場,并不代表本站贊同其觀點和對其真實性負責。
6、本站一律禁止以任何方式發布或轉載任何違法的相關信息,訪客發現請向站長舉報
7、本站所售VIP與付費的源碼均爲非盈利性收費,所有費用均用于域名、服務器的續費和購買他站VIP。

站點提示

歡迎下載本站資源,老闆發财。 站長TG:@languifang8
沒有賬号?注冊  忘記密碼?