最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity_如何設(shè)計(jì)網(wǎng)絡(luò)框架2

2022-09-09 14:34 作者:游戲開(kāi)發(fā)RAIN  | 我要投稿


承接上篇

TCP的封包與拆包

上面講解了,應(yīng)用層的數(shù)據(jù)包有可能被拆分成若干”TCP數(shù)據(jù)包”,還有可能兩個(gè)應(yīng)用層的數(shù)據(jù)包連在一起在一個(gè)”TCP數(shù)據(jù)包”中。為了收數(shù)據(jù)的時(shí)候能完整正確的收到應(yīng)用層的數(shù)據(jù)包,我們必須要把兩個(gè)應(yīng)用層的數(shù)據(jù)報(bào)之間做好分隔標(biāo)記,當(dāng)我們收到數(shù)據(jù)以后就可以根據(jù)分隔標(biāo)記來(lái)決定哪些數(shù)據(jù)是哪個(gè)包的。目前有兩種做法:

(1) 大小+數(shù)據(jù)內(nèi)容+校驗(yàn)碼模式;[size][數(shù)據(jù)body][校驗(yàn)], 游戲開(kāi)發(fā)中經(jīng)常會(huì)使用這種方式來(lái)做封包, 收數(shù)據(jù)的時(shí)候,根據(jù)大小來(lái)將數(shù)據(jù)包完整的組合出來(lái)。WebSocket也是采用的這種方式。

(2) 特定的分割符模式: 123456\r\n67890, Html采用特定的分割符號(hào)來(lái)拆分?jǐn)?shù)據(jù)內(nèi)容。

基于http的短連接技術(shù)方案

短連接,前面?zhèn)€講過(guò)的,用完就斷開(kāi)連接,下次要用的時(shí)候再重新的連接。短連接是使用TCP Socket策略,而這種策略最常用的就是http(基于TCP Socket+http超文本傳輸協(xié)議)。

Unity網(wǎng)絡(luò)框架中也要使用http,主要是和服務(wù)器對(duì)接基于http通訊以及資源服務(wù)器的下載等需求。Unity作為客戶端,要使用http,都已經(jīng)封裝好了UnityWebRequest,同時(shí)UnityWebRequest是多線程模式,可以同時(shí)并發(fā)N個(gè)請(qǐng)求。

Unity?網(wǎng)絡(luò)框架設(shè)計(jì)與實(shí)現(xiàn)原理

鋪墊了這么多,我們直接來(lái)上Unity網(wǎng)絡(luò)框架的架構(gòu)設(shè)計(jì)結(jié)構(gòu)圖,供大家參考。

這里接收數(shù)據(jù)的時(shí)候,采用多線程來(lái)做,收到數(shù)據(jù)后,進(jìn)行拆包與反序列化,得到數(shù)據(jù)對(duì)象后,放事件隊(duì)列,游戲主線程從事件隊(duì)列里面獲取網(wǎng)絡(luò)事件,然后進(jìn)行處理。發(fā)送數(shù)據(jù)出去的時(shí)候,我們?cè)谟螒蛑骶€程調(diào)用異步的網(wǎng)絡(luò)Send函數(shù),避免IO阻塞。注意好這些點(diǎn),就可以設(shè)計(jì)出一個(gè)很好的網(wǎng)絡(luò)框架。

Unity_如何設(shè)計(jì)網(wǎng)絡(luò)框架2的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
英德市| 昭苏县| 凤阳县| 惠安县| 固安县| 普陀区| 灌阳县| 利津县| 潮安县| 桓仁| 达州市| 青海省| 云和县| 景宁| 揭阳市| 苍南县| 景宁| 彩票| 高雄市| 武汉市| 策勒县| 尚志市| 张家港市| 淮北市| 阳城县| 阿拉尔市| 电白县| 得荣县| 乌兰察布市| 德安县| 呼伦贝尔市| 永顺县| 左云县| 师宗县| 河东区| 纳雍县| 卓资县| 台东县| 宣恩县| 大同市| 长治市|