[Unity3d]unity中http通訊

前言javascript

Unity3d 是一個跨平臺的引擎,在移動互聯網浪潮之中,尤爲是移動遊戲3d方向上,Unity3d 毫無疑問是最耀眼的明星。Unity3d的http通訊很簡單,也很是好用,下面經過http和php sever交互來簡單介紹一下。php

http 提交數據原理 html

http 協議經過 url來獲取和提交數據 。提交數據的方式 有兩種,一種是get方法,一種是post方法。get通常用於告訴服務器把知足參數的數據發送給回來。java

例如:get 的html代碼以下:數據庫

[html]  view plain copy
  1. <form action="search.php" method ="GET">  
  2.     <username:<inputtypeinputtype="text"name="user"/><br>  
  3.     <password:<inputtypeinputtype="password "name="pwd"/><br>  
  4.      <input type="submit"value="login"/>  
  5. </form >  

post通常是將數據發送給服務器,服務器將這些數據進行處理,好比說存儲到數據庫。瀏覽器

例如:post的html 代碼以下:服務器

[html]  view plain copy
  1. <form action="login.php" method ="POST" >  
  2.     <username:<inputtypeinputtype="text"name="user"/><br>  
  3.     <password:<inputtypeinputtype="password "name="pwd"/><br>  
  4.      <input type="submit"value="login"/>  
  5. </form >  

     其實區別就是提交的方式不同,點擊login按鈕後,瀏覽器地址欄裏分別顯示以下:網絡

       get方法url爲:http://127.0.0.1/serach.php?user=hortor&pwd=123異步

       post方法url爲:http://127.0.0.1ide

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例子:

[javascript]  view plain copy
  1. #pragma strict  
  2. privatevar url : String = "127.0.0.1/login.php?user=test&pwd=123";  
  3. function Start () {  
  4.      var getData : WWW = WWW(url);  
  5.      yield getData;       
  6.      if(getData.error != null) {  
  7.           Debug.Log(getData.error);  
  8.      }  
  9.      else {  
  10.           Debug.Log(getData.text);  
  11.      }  
  12. }  

post例子:

[javascript]  view plain copy
  1. #pragma strict  
  2. privatevar url : String = "127.0.0.1/login.php";  
  3. function Start () {  
  4.      var form : WWWForm = new WWWForm();  
  5.      form.AddField("user""test");  
  6.      form.AddField("pwd""123");  
  7.      var getData : WWW = WWW(url, form);  
  8.      yield getData;  
  9.      if(getData.error != null) {  
  10.           Debug.Log(getData.error);  
  11.      }  
  12.      else {  
  13.           Debug.Log(getData.text);  
  14.      }  
  15. }  

其中yield 這個方法是程序每一幀調用一次,當getData 執行完成,返回結果,這就至關因而異步請求數據。WWW 類有幾個經常使用的靜態變量,分別爲:

一、WWW.text  返回從網頁獲得數據,類型爲string。

二、WWW.error 返回錯誤信息,好比說超時,網絡鏈接錯誤等問題。

相關文章
相關標籤/搜索