您的位置:首页 > 理论基础 > 计算机网络

封装好的网络请求类

2015-10-16 20:39 579 查看
using UnityEngine;

using System.Collections;

/// <summary>

/// 封装的一个网络请求类

/// URL可以在外部获取

/// 获取文本成功后可以在别的类中处理

/// </summary>

/// <param name="text"></param>

//请求后后返回文本,在其他类处理

public delegate void DidReceivedText(string text);

public delegate void DidFailedText(string error);

public class NetWorkKit:MonoBehaviour

{

private static NetWorkKit Instance = null;

public static NetWorkKit GetInstance()

{

if (Instance == null)

{

GameObject obj = new GameObject("NetWorkKit");

Instance = obj.AddComponent<NetWorkKit>();

}

return Instance;

}

private NetWorkKit() { }

//使用get 请求

public void GetRequestText(string Url,DidReceivedText didReceivedText ,DidFailedText DidFailedText)

{

StartCoroutine(RequestText(Url,didReceivedText,DidFailedText,null));

}

//协程URL请求文本

IEnumerator RequestText(string Url, DidReceivedText didReceivedText, DidFailedText DidFailedText,WWWForm form)

{

//请求可以是get和post两种方式

WWW www = null;

if (form== null)

{

www = new WWW(Url);

}

else

{

www = new WWW(Url,form);

}

//等待

while (!www.isDone) {

yield return null;

}

if (www.error == null) {

// 请求成功

if(didReceivedText != null){

didReceivedText(www.text);

}

}

else

{

// 请求失败

if(DidFailedText != null){

DidFailedText(www.error);

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: