国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman 中udp的問題

NNba

場景:

使用workerman做udp服務(wù)器,兩個人操作繪圖需要同步,需要斷線重連,需要回放,快進(jìn)等操作,看文檔說udp比較適合。自己查找了資料,看的有點懵逼不太了解

疑問:

一 、 udp的校驗和

 我看一些文章udp在ip層內(nèi)已經(jīng)做過校驗和了,那么是不是在構(gòu)建通信數(shù)據(jù)的時候就不需要做校驗和這一步操作了?

二 、 udp的發(fā)送報文形式

udp是報文發(fā)送的,那么是不是就是我的每個sendto操作都是一個報文發(fā)送,客戶端都需要接受一次,不需要像數(shù)據(jù)流那樣規(guī)定包頭來獲取數(shù)據(jù)的長度?(之前寫一個TCP 的項目)
 udp構(gòu)建JSON數(shù)據(jù)后轉(zhuǎn)十六進(jìn)制數(shù)據(jù),為什么要這樣操作呢?(有大神的請詳解下或者給個講解鏈接,萬分感謝)
 大小端問題:php的bin2hex轉(zhuǎn)16進(jìn)制是大端轉(zhuǎn)換,解析也是unpack('H*',$data)解析,那么要求客戶端構(gòu)建數(shù)據(jù)后使用16進(jìn)制大端發(fā)送就行了是吧?

三 、 udp的重發(fā)機(jī)制

udp是無順序的且會丟失數(shù)據(jù)的,我構(gòu)思的是在udp發(fā)送需要時,如果客戶端收到的是有缺失幀序號的那么就發(fā)送信息到服務(wù)器,要求服務(wù)器重新發(fā)送這一幀的數(shù)據(jù)。我想要的補(bǔ)幀服務(wù)使用tcp服務(wù),服務(wù)端啟動兩個服務(wù),一個udp做幀同步,一個tcp服務(wù)做補(bǔ)幀服務(wù)(不會丟失),這樣做可以么?會不會有什么問題?其他人都是如何做的?
3659 1 0
1個回答

walkor 打賞

一、不需要校驗
二、UDP不需在數(shù)據(jù)包頭設(shè)定長度。json都是明文,不需要轉(zhuǎn)16進(jìn)制,json數(shù)據(jù)不會有大小端問題。大小端只有在以字節(jié)傳輸數(shù)字時才需要考慮。
三、可以這樣做。

udp適合數(shù)據(jù)可以丟失的應(yīng)用,如果你的數(shù)據(jù)幀不能丟失,又補(bǔ)了一層tcp,感覺不如直接tcp做。

  • NNba 2020-12-31

    需要做幀同步,用TCP做幀同步么?

  • walkor 2020-12-31

    不用udp,直接tcp,不需要考慮幀丟失。

年代過于久遠(yuǎn),無法發(fā)表回答
??