国产一级簧片-国产一极毛片-国产一国产a一级毛片-国产一国产一有一级毛片-91三级视频-91大学生视频

藍鷗旗下品牌:鷗課學院
全國咨詢電話:13152008057
您的位置: 首頁 > 技術(shù)文章 > 【原創(chuàng)】VR技術(shù)基于ProtoBuf協(xié)議實現(xiàn)網(wǎng)絡(luò)傳輸

【原創(chuàng)】VR技術(shù)基于ProtoBuf協(xié)議實現(xiàn)網(wǎng)絡(luò)傳輸

2017-07-13 藍鷗
5739人 瀏覽:

本文由藍鷗VR/AR/游戲?qū)W科高級講師原創(chuàng),全篇干貨,深度好文。

ProtoBuf是Google公司推出的一種二進制序列化工具,適用于數(shù)據(jù)的網(wǎng)絡(luò)傳輸。基于Socket實現(xiàn)時時通信,關(guān)于數(shù)據(jù)粘包的編碼和解碼處理是必不可少的。

Unity版本:5.3

使用語言:C# 

一、Unity中使用ProtoBuf

實現(xiàn)功能

1.基于ProtoBuf序列化對象

2.使用Socket實現(xiàn)時時通信

3.數(shù)據(jù)包的編碼和解碼

導入DLL到Unity中>>>創(chuàng)建網(wǎng)絡(luò)傳輸?shù)哪P皖?/p>

QQ截圖20170711110737.jpg

在Unity中添加測試腳本,介紹ProtoBuf工具的使用。中間用到了流這個概念,對于此概念不熟悉的同學先去我的簡書學習。

2.jpg

二、Unity中使用Socket實現(xiàn)時時通信

通信應(yīng)該實現(xiàn)的功能:

1.服務(wù)器可以時時監(jiān)聽多個客戶端

2.服務(wù)器可以時時監(jiān)聽某一個客戶端消息

3.服務(wù)器可以時時給某一個客戶端發(fā)消息

首先我們需要定義一個客戶端對象

3.jpg

然后實現(xiàn)我們的服務(wù)器代碼

4.jpg

在Unity中開啟服務(wù)器,并使用C#控制臺模擬客戶端連接、發(fā)送消息操作。測試OK,Unity中可以時時監(jiān)聽到消息。

5.jpg

三、數(shù)據(jù)包的編碼和解碼

首先,舉個例子,這個月信用卡被媳婦刷爆了,面對房貸車貸的壓力,我只能選擇分期付款。

那么OK了,現(xiàn)在我想問一下,當服務(wù)器向客戶端發(fā)送的數(shù)據(jù)過大時怎么辦呢?

當服務(wù)器需要向客戶端發(fā)送一條很長的數(shù)據(jù),也會“分期付款!”,服務(wù)器會把一條很長的數(shù)據(jù)分成若干條小數(shù)據(jù),多次發(fā)送給客戶端。

可是,這樣就又有另外一個問題,客戶端接受到多條數(shù)據(jù)之后如何解析?

這里其實就是客戶端的解碼。server發(fā)數(shù)據(jù)一般采用“長度+內(nèi)容”的格式,Client接收到數(shù)據(jù)之后,先提取出長度來,然后根據(jù)長度判斷內(nèi)容是否發(fā)送完畢。

再次重申,用戶在發(fā)送序列化好的消息的前,需要先編碼后再發(fā)送消息;用戶在接受消息后,需要解碼之后再解析數(shù)據(jù)(反序列化)。

6.jpg

  1. 廣告1
  2. 廣告2
  3. 廣告3
  4. 廣告4
主站蜘蛛池模板: 国产91无套剧情在线播放 | 亚洲国产精品久久久久 | 人妖欧美一区二区三区四区 | 国产一级视频久久 | 欧美三级三级三级爽爽爽 | 国产偷怕自拍 | 97一级毛片全部免费播放 | 精品久久久久久中文字幕 | 91热久久免费精品99 | 亚洲欧美网站 | 毛片免费全部播放一级 | 中文字幕日韩国产 | 亚洲人成在线观看 | 欧美日韩一区二区高清视 | a级毛片在线免费看 | 伊人手机视频 | 国产一级片毛片 | 在线视频亚洲 | 欧美特级一级毛片 | 国产午夜毛片一区二区三区 | 色站综合 | 91情侣在线偷精品国产 | 男人的天堂在线观看入口 | 天天躁夜夜躁狠狠躁2024 | 久久国产经典视频 | 亚洲一区二区三区成人 | 亚洲wwww| 女人张开腿让男人桶视频免费大全 | 日韩免费在线 | 国产男女免费完整视频 | 香港三级做爰大爽视频 | 爽爽在线 | 欧美一级成人毛片影院 | 久久国产精品-国产精品 | 精品久久一区 | 精品少妇一区二区三区视频 | 亚洲精品一区91 | 日本噜噜影院 | 亚洲欧美日本国产 | 日本一级在线播放线观看视频 | 成人免费在线视频网 |