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

workerman 中udp的問題

NNba

場(chǎng)景:

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

疑問:

一 、 udp的校驗(yàn)和

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

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

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

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

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

walkor 打賞

一、不需要校驗(yàn)
二、UDP不需在數(shù)據(jù)包頭設(shè)定長(zhǎng)度。json都是明文,不需要轉(zhuǎn)16進(jìn)制,json數(shù)據(jù)不會(huì)有大小端問題。大小端只有在以字節(jié)傳輸數(shù)字時(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ā)表回答
??