封装好的网络请求类
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);
}
}
}
}
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);
}
}
}
}
相关文章推荐
- IOS网络笔记--数据加载优化问题(图片加载优化)
- C 语言疑难杂症 [转:http://blog.chinaunix.net/uid-20688544-id-1894880.html]
- HttpGet
- 神经网络BP算法C和python代码
- App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure 解决
- 浏览器被恶意设置主页http://www.2345.com/?kunown的解决方法
- 网络编程中 一些概念问题
- HTTP工作原理
- TCP四次挥手
- 两台笔记本搭建openvswitch网络
- TCP的三次握手
- 超全超详细的HTTP状态码大全(推荐抓包工具HTTP Analyzer V6.5.3)
- Nagios经check_http监视web申请书server多个tomcat维修
- 云安全部分概念解析
- 如何生成每秒百万级别的 HTTP 请求?
- Android源码Demo地址:http://www.apkbus.com
- 网络开发之使用Web Service和使用WCF服务
- (转载)网络编程释疑之:同步,异步,阻塞,非阻塞
- MTNET 自用ios网络库开源
- Charles调试Https