untiy 中的www读取文件

来源:互联网 发布:刷枪软件制作教程 编辑:程序博客网 时间:2024/06/06 00:45

五、 www
5.1. 简介
简单的访问一个页面,通过一个指定url来创建一个www请求
5.2. http
http : 每点击 一次,都会返回一个结果 。
tcp与udp都是底层socket通信,socket比他们更深层次的底层。
tcp: 长链接, 一直发送消息 。 有顺序。1 2
udp: 短链接,没有顺序的 。 2 1
5.2.1. get请求
?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=3d旋转矩阵公式
参数 在 url 中
5.2.2. post请求
http://kun.show.ghostry.cn/
post 请求 参数在表单里面。当发生post请求时,服务器会认为客户端在传送一个大的数据,同时服务器底层会分配一个大的空间。
随着网络发展,传送的数据量越来越大,音频、图片、视频等等,get请求已经不能满足需求,因此传送大数据就用 post .
都表示 从服务器 获取 数据。
5.3. 本地文件的加载
5.3.1. streamingAssetsPath
Application.streamingAssetsPath : 默认在工程下的Assets文件夹下,只要放在这个文件夹里面的东西,都会打包到真机上 。
该目录与Apk. 里面 Assets的目录一致
只能用www 读且不能写 。
5.3.2. persistentDataPath
Application.persistentDataPath : 可读 写文件 。 用文件系统 。
File StreamReader streamWriter .

Windows :
file:/// + 路径

IOS:
file:// + 路径

Android :
jar:file:// + 路径
5.4. 代码实现

    void Start () {        //执行get请求        StartCoroutine(SendGet("http://kun.show.ghostry.cn/?int=5"));        string url = "http://kun.show.ghostry.cn";        //实例化一个表单        WWWForm form = new WWWForm();        form.AddField("int", 9);        //执行post请求        StartCoroutine(SendPost(url, form));        Debug.Log(Application.streamingAssetsPath);        Debug.Log(Application.persistentDataPath);        string url2 = Application.dataPath + "/Resources/test.html";        LoadLocalFile(url2);    }    /// <summary>    /// get request    /// </summary>    /// <param name="url"></param>    /// <returns></returns>    public IEnumerator SendGet(string url)    {        WWW www = new WWW(url);        yield return www;        if (string.IsNullOrEmpty(www.error))        {            Debug.Log(www.text);        }    }    /// <summary>    /// post request    /// </summary>    /// <param name="url">url</param>    /// <param name="tmpParams">表单</param>    /// <returns></returns>    public IEnumerator SendPost(string url, WWWForm tmpParams)    {        WWW www = new WWW(url, tmpParams);        yield return www;        if (string.IsNullOrEmpty(www.error))        {            Debug.Log(www.text);        }    }    /// <summary>    /// 加载本地文件    /// </summary>    /// <param name="url"></param>    public void LoadLocalFile(string url)    {        string result = "";        if(Application.platform == RuntimePlatform.IPhonePlayer)        {            result = "file://" + url;        }        else if (Application.platform == RuntimePlatform.Android)        {            result = "jar:file://" + url;        }        else if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.WindowsPlayer)        {            result = "file:///" + url;        }        StartCoroutine(SendGet(result));    }
原创粉丝点击