青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Fork me on GitHub
隨筆 - 215  文章 - 13  trackbacks - 0
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011


專(zhuān)注即時(shí)通訊及網(wǎng)游服務(wù)端編程
------------------------------------
Openresty 官方模塊
Openresty 標(biāo)準(zhǔn)模塊(Opm)
Openresty 三方模塊
------------------------------------
本博收藏大部分文章為轉(zhuǎn)載,并在文章開(kāi)頭給出了原文出處,如有再轉(zhuǎn),敬請(qǐng)保留相關(guān)信息,這是大家對(duì)原創(chuàng)作者勞動(dòng)成果的自覺(jué)尊重!!如為您帶來(lái)不便,請(qǐng)于本博下留言,謝謝配合。

常用鏈接

留言簿(1)

隨筆分類(lèi)

隨筆檔案

相冊(cè)

Awesome

Blog

Book

GitHub

Link

搜索

  •  

積分與排名

  • 積分 - 219730
  • 排名 - 117

最新評(píng)論

閱讀排行榜

http://blog.csdn.net/u014630768/article/details/34895367

UDT庫(kù) https://sourceforge.net/projects/udt/?source=directory

    C#包裝:https://github.com/dump247/udt-net

    

  • UDT協(xié)議是什么?是一種基于UDP的數(shù)據(jù)傳輸協(xié)議(UDP-based Data Transfer Protocol,簡(jiǎn)稱(chēng)UDT)。

  • UDT協(xié)議的主要作用是什么?UDT的主要目的是支持高速?gòu)V域網(wǎng)上的海量數(shù)據(jù)傳輸,而互聯(lián)網(wǎng)上的標(biāo)準(zhǔn)數(shù)據(jù)傳輸協(xié)議TCP在高帶寬長(zhǎng)距離網(wǎng)絡(luò)上性能很差。

  • 那么UDT與UDP的區(qū)別又是什么?UDT建于UDP之上,并引入新的擁塞控制和數(shù)據(jù)可靠性控制機(jī)制。UDT是面向連接的雙向的應(yīng)用層協(xié)議。它同時(shí)支持可靠的數(shù)據(jù)流傳輸和部分可靠的數(shù)據(jù)報(bào)傳輸。

  • UDT的使用場(chǎng)景是什么?由于UDT完全在UDP上實(shí)現(xiàn),它也可以應(yīng)用在除了高速數(shù)據(jù)傳輸之外的其它應(yīng)用領(lǐng)域,例如點(diǎn)到點(diǎn)技術(shù)(P2P),防火墻穿透,多媒體數(shù)據(jù)傳輸?shù)鹊取?/span>

    (以上問(wèn)題的答案均摘自wikipedia)當(dāng)然我今天也不是來(lái)當(dāng)知識(shí)搬運(yùn)工的,而是結(jié)合以上UDT協(xié)議的基本定義來(lái)深入到UDT協(xié)議內(nèi)部去解析它。


    UDT協(xié)議的主要特性有哪些?

  • 基于UDP的應(yīng)用層協(xié)議: 有基本網(wǎng)絡(luò)知識(shí)的朋友都知道TCP和UDP的區(qū)別和使用場(chǎng)景,但是有沒(méi)有一種協(xié)議能同時(shí)兼顧TCP協(xié)議的安全可靠和UDP協(xié)議的高效,那么UDT就是一種。

  • 面向連接的協(xié)議:面向連接意味著兩個(gè)使用協(xié)議的應(yīng)用在彼此交換數(shù)據(jù)之前必須先建立一個(gè)連接,當(dāng)然UDT是邏輯上存在的連接通道。這種連接的維護(hù)是基于握手、Keep-alive(保活)以及關(guān)閉連接。

  • 可靠的協(xié)議:依靠包序號(hào)機(jī)制、接收者的ACK響應(yīng)和丟包報(bào)告、ACK序號(hào)機(jī)制、重傳機(jī)制(基于丟包報(bào)告和超時(shí)處理)來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)目煽啃浴?/span>

  • 雙工的協(xié)議:每個(gè)UDT實(shí)例包含發(fā)送端和接收端的信息。

  • 單播的數(shù)據(jù)流。

  • 新的擁塞算法,并且具有可擴(kuò)展的擁塞控制框架:新的擁塞控制算法不同于基于窗口的TCP擁塞控制算法(慢啟動(dòng)和擁塞避免),是混合的基于窗口的、基于速率的擁塞控制算法。可擴(kuò)展的擁塞控制框架開(kāi)源的代碼和擁塞控制的C++類(lèi)架構(gòu),可支持開(kāi)發(fā)者派生專(zhuān)用的擁塞控制算法。

  • 帶寬估計(jì):UDT使用對(duì)包(PP -- Packet pair)的機(jī)制來(lái)估計(jì)帶寬值。即每16個(gè)包為一組,最后一個(gè)是對(duì)包,即發(fā)送方不用等到下一個(gè)發(fā)送周期內(nèi)再發(fā)送。接收方接收到對(duì)包后對(duì)其到達(dá)時(shí)間進(jìn)行記錄,可結(jié)合上次記錄的值計(jì)算出鏈路的帶寬(計(jì)算的方法稱(chēng)為中值過(guò)濾法), 并在下次ACK中進(jìn)行反饋。


★★★ENET庫(kù)(photon的可靠udp) https://github.com/lsalzman/enet

c#包裝1:https://github.com/RainsSoft/enetcs

c#包裝2:https://github.com/RainsSoft/ENetSharp

大家都知道UDP這個(gè)東西太不可靠了,存在著亂序,丟包,包重復(fù)等缺點(diǎn),但它的速度快,包有界等優(yōu)點(diǎn),但在實(shí)際編程中要自己處理亂序啊之類(lèi)的問(wèn)題會(huì)發(fā)瘋 的。也許大家說(shuō)用TCP就得了,第一點(diǎn)TCP的速度比較慢,第二個(gè)TCP是一個(gè)數(shù)據(jù)流一樣的東西,我們要傳數(shù)據(jù)的話(huà)還得處理數(shù)據(jù)的分界問(wèn)題,也挺麻煩的。

針對(duì)這個(gè)問(wèn)題,ENET這個(gè)庫(kù)實(shí)現(xiàn)了一個(gè)性能介于TCP與UDP之間,完成可靠(不丟包,按序),保持?jǐn)?shù)據(jù)的分界的優(yōu)點(diǎn)。編程起來(lái)也挺方便的。

下載地址:http://enet.bespin.org/SourceDistro.html


RakNet庫(kù)  https://github.com/OculusVR/RakNet

c#包裝:https://github.com/RainsSoft/RakNet-C-Sharp-binding-project

RakNet是一個(gè)基于UDP網(wǎng)絡(luò)傳輸協(xié)議的C++網(wǎng)絡(luò)庫(kù),允許程序員在他們自己的程序中實(shí)現(xiàn)高效的網(wǎng)絡(luò)傳輸服務(wù)。通常情況下用于游戲,但也可以用于其它項(xiàng)目。

RakNet有以下特點(diǎn):

l 高性能 在同一臺(tái)計(jì)算機(jī)上,RakNet可以實(shí)現(xiàn)在兩個(gè)程序之間每秒傳輸25,000條信息;

l 容易使用 RakNet有在線用戶(hù)手冊(cè),視頻教程。每一個(gè)函數(shù)和類(lèi)都有詳細(xì)的講解,每一個(gè)功能都有自己的例程;

l 跨平臺(tái),當(dāng)前RakNet支持Windows, Linux, Macs,可以建立在Visual Studio, GCC, Code,Blocks, DevCPP 和其它平臺(tái)上。

l 在線技術(shù)支持 RakNet有一個(gè)活躍的論壇,郵件列表,你只要給他們發(fā)信,他們可以在幾小時(shí)之內(nèi)回復(fù)你。

l 安全的傳輸 RakNet在你的代碼中自動(dòng)使用SHA1, AES128, SYN,用RSA避免傳輸受到攻擊

l 音頻傳輸 用Speex編碼解碼,8位的音頻只需要每秒500字節(jié)傳輸。

l 遠(yuǎn)程終端 用RakNet,你能遠(yuǎn)程管理你的程序,包括程序的設(shè)置,密碼的管理和日志的管理。

l 目錄服務(wù)器 目錄服務(wù)器允許服務(wù)器列舉他們自己需要的客戶(hù)端,并與他們連接。

l Autopatcher Autopatcher系統(tǒng)將限制客戶(hù)端傳輸?shù)椒?wù)端的文件,這樣是為了避免一些不合法的用戶(hù)將一些不合法的文件傳輸?shù)椒?wù)端。

l 對(duì)象重載系統(tǒng)

l 網(wǎng)絡(luò)數(shù)據(jù)壓縮 BitStream類(lèi)允許壓縮矢量,矩陣,四元數(shù)和在-1到1之間的實(shí)數(shù)。

l 遠(yuǎn)程功能調(diào)用

l 強(qiáng)健的通信層 可以保障信息按照不同的信道傳輸


UDT基于一種基于帶寬速率控制的擁塞控制算法進(jìn)行設(shè)計(jì),主要用在小數(shù)量的bulk源共享富裕帶寬的情況下,最典型的例子就是建立在光纖廣域網(wǎng)上的網(wǎng)格計(jì)算,而在ISP提供帶寬有限的情況下運(yùn)行卻顯得消耗資源并性能不足。甚至可能被防火墻,或ISP服務(wù)商判斷為惡意帶寬使用攻擊。

RakNet是為游戲應(yīng)用而設(shè)計(jì),對(duì)于實(shí)時(shí)性等游戲相關(guān)的網(wǎng)絡(luò)需求有很好的支持,對(duì)于大批量數(shù)據(jù)傳輸卻有點(diǎn)力所不及。raknet的缺點(diǎn)是不支持組播


★★★★ KCP - A Fast and Reliable ARQ Protocol

源碼: https://github.com/skywind3000/kcp

c#包裝:https://github.com/RainsSoft/kcp-csharp

KCP是一個(gè)快速可靠協(xié)議,能以比 TCP浪費(fèi)10%-20%的帶寬的代價(jià),換取平均延遲降低 30%-40%,且最大延遲降低三倍的傳輸效果。純算法實(shí)現(xiàn),并不負(fù)責(zé)底層協(xié)議(如UDP)的收發(fā),需要使用者自己定義下層數(shù)據(jù)包的發(fā)送方式,以 callback的方式提供給 KCP。 連時(shí)鐘都需要外部傳遞進(jìn)來(lái),內(nèi)部不會(huì)有任何一次系統(tǒng)調(diào)用。

整個(gè)協(xié)議只有 ikcp.h, ikcp.c兩個(gè)源文件,可以方便的集成到用戶(hù)自己的協(xié)議棧中。也許你實(shí)現(xiàn)了一個(gè)P2P,或者某個(gè)基于 UDP的協(xié)議,而缺乏一套完善的ARQ可靠協(xié)議實(shí)現(xiàn),那么簡(jiǎn)單的拷貝這兩個(gè)文件到現(xiàn)有項(xiàng)目中,稍微編寫(xiě)兩行代碼,即可使用。

KCP協(xié)議比較

如果網(wǎng)絡(luò)從來(lái)不丟包,那么你直接用 TCP就行了,甚至直接裸UDP都沒(méi)關(guān)系,但是網(wǎng)絡(luò)因?yàn)閬G包造成卡頓,特別是高峰時(shí)期丟包會(huì)上到10%的情況,移動(dòng)設(shè)備上這個(gè)情況更糟糕。

我自己評(píng)測(cè)過(guò)很多,asio_kcp 的作者做過(guò)比較詳細(xì)的評(píng)測(cè),在網(wǎng)絡(luò)變?cè)愀獾那闆r下,KCP的延遲比 libenet低三倍以上:

worst network lag happen: asio: 10:51.21 291  295   269   268   231   195   249   230   225   204  enet: 10:51.21 1563   1520    1470    1482    1438    1454    1412    1637    1588    1540

更詳細(xì)的評(píng)測(cè)可以看這里:benchmark,感謝 asio_kcp 的作者 zhangyuan 詳細(xì)對(duì)比了 UDT, libenet和 kcp,并給出結(jié)論如下:

  • ASIO-KCP has good performace in wifi and phone network(3G, 4G).
  • The kcp is the first choice for realtime pvp game.
  • The lag is less than 1 second when network lag happen. 3 times better than enet when lag happen.
  • The enet is a good choice if your game allow 2 second lag.
  • UDT is a bad idea. It always sink into badly situation of more than serval seconds lag. And the recovery is not expected.

其他可以左右你選擇的情況:

  • enet has the problem of lack of doc. And it has lots of functions that you may intrest.
  • kcp's doc is chinese.
  • Good thing is the function detail which is writen in code is english. And you can use asio_kcp which is a good wrap.
  • The kcp is a simple thing. You will write more code if you want more feature.
  • UDT has a perfect doc. UDT may has more bug than others as I feeling.

我當(dāng)年主要測(cè)試了 KCP和 TCP/UDT的比較,掃了一眼 libenet覺(jué)得協(xié)議實(shí)現(xiàn)中規(guī)中矩,缺乏很多現(xiàn)代傳輸協(xié)議的技術(shù),所以并沒(méi)有詳細(xì)測(cè)試。而 asio-kcp的作者同時(shí)給出了KCP/enet/udt三者的詳細(xì)比較,為猶豫選擇的人提供了更多指引。

The bench mark is for realtime pvp game. For example, the multiplayer first person shooting game.
The requirement of realtime pvp game is packet is small and frequently. 
It wants a minimal delay. And the worst delay should be not so worse. 
The test client send 500 bytes in every 50 milliseconds. And the server send it back after receiving immediately.

Three frameworks were tested,

  • UDT - UDP-based Data Transfer Protocol
  • kcp - A Fast and Reliable ARQ Protocol
  • enet - Reliable UDP networking library


lidgren-network-gen3 

https://github.com/RainsSoft/lidgren-network-gen3

純C#實(shí)現(xiàn)的UDP開(kāi)源庫(kù),可用于游戲,支持NAT,內(nèi)部使用的可靠ARQ協(xié)議算法沒(méi)仔細(xì)去研究,不知道WIFI以及3G/4G下的表現(xiàn)怎么樣,暫時(shí)沒(méi)有測(cè)試數(shù)據(jù)

UDT協(xié)議詳解:
http://blog.csdn.net/bytxl/article/details/44979669

RakNet:http://blog.csdn.net/ww506772362/article/details/51076890
ENET庫(kù)(可靠UDP):
http://blog.csdn.net/yuanchunsi/article/details/70244338


posted on 2017-12-08 14:32 思月行云 閱讀(7368) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): C\C++

FeedBack:
# re: 幾種UDP網(wǎng)絡(luò)庫(kù)的整理Raknet,UDT,ENet,lidgren-network-gen3 2017-12-08 16:02 思月行云
# re: 幾種UDP網(wǎng)絡(luò)庫(kù)的整理Raknet,UDT,ENet,lidgren-network-gen3 2017-12-08 16:04 思月行云
KCP —— 快速可靠的網(wǎng)絡(luò)傳輸協(xié)議
https://www.oschina.net/p/kcp  回復(fù)  更多評(píng)論
  
# re: 幾種UDP網(wǎng)絡(luò)庫(kù)的整理Raknet,UDT,ENet,lidgren-network-gen3 2017-12-08 16:17 思月行云
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              欧美日本一区二区三区| 欧美一级欧美一级在线播放| 久久久久久高潮国产精品视| 99精品国产热久久91蜜凸| 欧美gay视频| 欧美成人精品一区二区| 久久久久久久一区二区| 久久久久国产精品麻豆ai换脸| 午夜精品影院| 老司机精品久久| 久久综合久久综合九色| 欧美在线视频网站| 猛男gaygay欧美视频| 欧美理论电影网| 欧美三级第一页| 国产一区二区三区四区三区四 | 亚洲天堂男人| 欧美在线免费视频| 久热精品视频在线免费观看| 免费在线国产精品| 国产精品看片你懂得| 韩日视频一区| 先锋影音国产一区| 亚洲区一区二区三区| 亚洲综合好骚| 裸体丰满少妇做受久久99精品| 欧美日本久久| 在线观看日韩av| 久久国产88| 亚洲午夜女主播在线直播| 欧美aⅴ99久久黑人专区| 黄色av一区| 欧美在线亚洲一区| 亚洲午夜视频在线| 欧美日韩精品在线| 99精品视频一区| 亚洲国产欧美不卡在线观看| 欧美在线国产| 欧美色欧美亚洲另类七区| 亚洲人成小说网站色在线 | 亚洲一区观看| 国产精品国产三级国产普通话99| 99一区二区| 亚洲久久一区二区| 国模一区二区三区| 亚洲福利视频一区二区| 久久视频在线看| 亚洲美女尤物影院| 一区二区三区四区国产精品| 国产精品成人av性教育| 小嫩嫩精品导航| 小黄鸭视频精品导航| 亚洲欧美在线另类| 亚洲午夜视频在线观看| 国产精品久久久久久久久久免费| 一区二区三区欧美在线观看| 性做久久久久久| 亚洲最新在线| 久久不射电影网| 99re6热只有精品免费观看 | 一区二区三区产品免费精品久久75| 欧美经典一区二区三区| 久久9热精品视频| 欧美日产国产成人免费图片| 久久国产一二区| 欧美三级网址| 最新日韩在线视频| 亚洲国产精品综合| 久久精品一本| 久久久av水蜜桃| 国产欧美一区二区精品性色| 亚洲精品一二| 一本久久a久久精品亚洲| 欧美一区二区在线看| 欧美日本国产视频| 日韩写真视频在线观看| 一本色道久久综合狠狠躁篇的优点 | 99视频精品| 欧美日韩另类在线| 9l视频自拍蝌蚪9l视频成人| 洋洋av久久久久久久一区| 欧美14一18处毛片| 亚洲激情一区| 亚洲夜间福利| 国产精品久久一级| 欧美一级大片在线免费观看| 久久精品视频导航| 悠悠资源网亚洲青| 久久人人看视频| 亚洲精品美女在线观看播放| 亚洲一区视频| 好看不卡的中文字幕| 久久综合影音| 中文国产一区| 欧美成人一区二免费视频软件| 一区二区免费在线视频| 欧美午夜剧场| 久久精品卡一| 日韩视频精品| 免费成人性网站| 99国产精品久久久| 国内精品久久久久影院色| 另类图片国产| 久久gogo国模裸体人体| 欧美日韩黄色一区二区| 亚洲你懂的在线视频| 91久久综合亚洲鲁鲁五月天| 国产视频久久久久| 国产精品久久久久9999高清| 亚洲精品小视频在线观看| 蜜臀av一级做a爰片久久| 一区二区三区成人 | 亚洲激情一区二区| 久久精品夜色噜噜亚洲aⅴ| aa级大片欧美| 中国成人亚色综合网站| 在线视频欧美一区| 亚洲综合精品| 午夜在线一区二区| 久久国产精品久久久久久| 亚洲国产另类精品专区| 亚洲精品少妇网址| 久久综合激情| 亚洲免费一级电影| 欧美一级久久久久久久大片| 欧美亚洲在线观看| 久久噜噜噜精品国产亚洲综合| 性刺激综合网| 美女成人午夜| 国产精品三区www17con| 国产日本欧美一区二区三区| 国产一区二区三区在线观看免费| 激情综合视频| 艳妇臀荡乳欲伦亚洲一区| 久久精品一本| av不卡在线观看| 久久婷婷蜜乳一本欲蜜臀| 欧美视频精品在线| 亚洲国产免费| 久久久久88色偷偷免费| 99av国产精品欲麻豆| 久久综合狠狠综合久久激情| 国产日产欧产精品推荐色| 艳妇臀荡乳欲伦亚洲一区| 免费观看成人| 久久精品一区二区三区中文字幕| 欧美日韩国产影院| 亚洲人体一区| 欧美三级乱码| 在线亚洲免费视频| 亚洲精品久久| 欧美福利在线| 亚洲美女91| 亚洲人成在线播放| 欧美经典一区二区三区| 亚洲第一伊人| 亚洲国产黄色片| 欧美经典一区二区| 亚洲午夜av| 亚洲男人的天堂在线| 国产精自产拍久久久久久| 欧美一级久久久| 欧美在线观看视频在线| 国产亚洲二区| 欧美国产精品专区| 欧美激情一区二区三区全黄| 在线视频精品| 欧美中文字幕视频| 亚洲日本视频| 亚洲男人第一av网站| 影音先锋亚洲一区| 夜夜狂射影院欧美极品| 国语精品中文字幕| 日韩视频在线一区二区三区| 国产精品亚洲一区二区三区在线| 久久久美女艺术照精彩视频福利播放 | 一区二区三区日韩在线观看| 亚洲女人天堂av| 日韩五码在线| 久久免费高清| 久久久99爱| 国产精品天天摸av网| 亚洲国产一区二区在线| 国产一区视频在线看| 亚洲婷婷综合色高清在线| 亚洲欧洲日韩在线| 久久视频在线免费观看| 久久精品欧美日韩| 亚洲四色影视在线观看| 狠狠狠色丁香婷婷综合激情| 亚洲精品国产精品国自产在线| 好看的日韩视频| 久久久久网站| 欧美+日本+国产+在线a∨观看| 国产区日韩欧美| 久久午夜电影| 亚洲清纯自拍| 亚洲一区在线直播| 国产乱子伦一区二区三区国色天香 | 女人色偷偷aa久久天堂|