使用workerman做udp服務(wù)器,兩個人操作繪圖需要同步,需要斷線重連,需要回放,快進(jìn)等操作,看文檔說udp比較適合。自己查找了資料,看的有點懵逼不太了解
我看一些文章udp在ip層內(nèi)已經(jīng)做過校驗和了,那么是不是在構(gòu)建通信數(shù)據(jù)的時候就不需要做校驗和這一步操作了?
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是無順序的且會丟失數(shù)據(jù)的,我構(gòu)思的是在udp發(fā)送需要時,如果客戶端收到的是有缺失幀序號的那么就發(fā)送信息到服務(wù)器,要求服務(wù)器重新發(fā)送這一幀的數(shù)據(jù)。我想要的補(bǔ)幀服務(wù)使用tcp服務(wù),服務(wù)端啟動兩個服務(wù),一個udp做幀同步,一個tcp服務(wù)做補(bǔ)幀服務(wù)(不會丟失),這樣做可以么?會不會有什么問題?其他人都是如何做的?