[Unity3d]unity中http通訊
前言
Unity3d 是一個跨平臺的引擎,在移動網際網路浪潮之中,尤其是移動遊戲3d方向上,Unity3d 毫無疑問是最耀眼的明星。Unity3d的http通訊很簡單,也非常好用,下面通過http和php sever互動來簡單介紹一下。
http 提交資料原理
http 協議通過 url來獲取和提交資料 。提交資料的方式 有兩種,一種是get方法,一種是post方法。get一般用於告訴伺服器把滿足引數的資料傳送給回來。
例如:get 的html程式碼如下:
- <form action=“search.php” method =“GET”>
- <username:<inputtypeinputtype=”text”name=”user”/><br>
- <password:<inputtypeinputtype=”password “name=”pwd”/><br>
- <input type=”submit”value=”login”/>
- </form >
post一般是將資料傳送給伺服器,伺服器將這些資料進行處理,比如說儲存到資料庫。
例如:post的html 程式碼如下:
- <form action=“login.php” method =“POST” >
- <username:<inputtypeinputtype=”text”name=”user”/><br>
- <password:<inputtypeinputtype=”password “name=”pwd”/><br>
- <input type=”submit”value=”login”/>
- </form >
其實區別就是提交的方式不一樣,點選login按鈕後,瀏覽器位址列裡分別顯示如下:
get方法url為:http://127.0.0.1/serach.php?user=hortor&pwd=123
post方法url為:http://127.0.0.1
PHP服務端接收資料方法
服務端針對這兩種方式響應的有兩種方式:
get方法接收資料的方法為 $_GET[user],來接收客戶端傳送的user的值。
post方法接收資料的方法為 $_POST[user]也是用來接收客戶端變數user的值。
UNITY WWW類使用方法
unity www 類同樣對應兩種提交資料的方式,常用的兩個建構函式為:
static function WWW (url : String) : WWW
static function WWW (url : String, form : WWWForm) : WWW
第一個函式是通過get方法向伺服器傳送資料,第二個是用post提交資料,其中WWWForm有個方法叫:AddField(agr : string, value : string),來新增引數。
get例子:
- #pragma strict
- privatevar url : String = “127.0.0.1/login.php?user=test&pwd=123”;
- function Start () {
- var getData : WWW = WWW(url);
- yield getData;
- if(getData.error != null) {
- Debug.Log(getData.error);
- }
- else {
- Debug.Log(getData.text);
- }
- }
post例子:
- #pragma strict
- privatevar url : String = “127.0.0.1/login.php”;
- function Start () {
- var form : WWWForm = new WWWForm();
- form.AddField(“user”, “test”);
- form.AddField(“pwd”, “123”);
- var getData : WWW = WWW(url, form);
- yield getData;
- if(getData.error != null) {
- Debug.Log(getData.error);
- }
- else {
- Debug.Log(getData.text);
- }
- }
其中yield 這個方法是程式每一幀呼叫一次,當getData 執行完成,返回結果,這就相當於是非同步請求資料。WWW 類有幾個常用的靜態變數,分別為:
1、WWW.text 返回從網頁得到資料,型別為string。
2、WWW.error 返回錯誤資訊,比如說超時,網路連線錯誤等問題。
相關文章
- HTTP通訊HTTP
- Unity3d 入門(一) 瞭解Unity3dUnity3D
- U3D 網路庫實現通訊 基於Warensoft Unity3d3DUnity
- unity3d c# http 請求json資料解析Unity3DC#HTTPJSON
- Unity3d 初探Unity3D
- unity3d碰撞Unity3D
- unity3d sqliteUnity3DSQLite
- Unity3D中實現幀同步 - Part 2Unity3D
- unity3D進階Unity3D
- Unity3d 陀螺儀Unity3D
- Unity3D入門Unity3D
- 幹掉Unity3DUnity3D
- HTTP通訊協議HTTP協議
- Unity3D中的shader基礎知識Unity3D
- unity中播放視訊Unity
- Unity3D 單例模式Unity3D單例模式
- Unity3d的安裝Unity3D
- Unity3D 8叉樹Unity3D
- 【Unity3D】UI Toolkit容器Unity3DUI
- 【Unity3D】資源管理Unity3D
- 【Unity3D】常用快捷鍵Unity3D
- Unity3d 協程 StartCoroutineUnity3D
- unity3d攝像機Unity3D
- Unity3D遊戲實戰Unity3D遊戲
- Unity3d花屏處理Unity3D
- unity3d 事件說明Unity3D事件
- Unity3D 外掛大全Unity3D
- Unity3D中的C#程式設計初級Unity3DC#程式設計
- Unity3D中Animation的常見屬性及方法Unity3D
- 關於Unity3D中WebCore外掛的問題Unity3DWeb
- Unity3d 繪製並獲取通過任意點的曲線Unity3D
- Unity3d FingerGestures 使用 例子Unity3D
- Unity3D相關面試題Unity3D面試題
- Unity3D 錄屏、GIF、PNGUnity3D
- unity3d外掛之 DoTweenUnity3D
- Unity3d 人物的跳躍Unity3D
- Unity3D ARKit 參考文章Unity3D
- Unity3d主城玩家位置同步Unity3D