• Unity中www的基本应用


    Unity的www主要支持HTTP中的GET和POST方式,GET方式会将请求附加到URL后,POST方式则是通过FORM的形式提交。

    以下为Unity客户端的信息:

    using UnityEngine;
    using System.Collections;
    
    public class WebManger : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
        
        }
        
        // Update is called once per frame
        void Update () {
        
        }
    
        string m_string="Nothing";
    
        void OnGUI()
        {
            GUI.BeginGroup(new Rect(300,Screen.height*0.5f-1,500,200),"");
            GUI.Label(new Rect(10,10,300,30),m_string);
            if(GUI.Button(new Rect(10,50,100,30),"Get Data"))
            {
                StartCoroutine(IGetData());
            }
            if(GUI.Button(new Rect(10,90,100,30),"Post Data"))
            {
                StartCoroutine(IPostData());
            }
            GUI.EndGroup();
        }
    
        IEnumerator IGetData()
        {
            WWW www=new WWW("http://localhost:12063/Default.aspx?name=hometown1986");
            yield return www;   //等待WEB服务器的反应
            if(www.error!=null)
            {
                m_string=www.error;
                yield return null;
            }
            m_string=www.text;
        }
    
        IEnumerator IPostData()
        {
            System.Collections.Hashtable headers=new Hashtable();
            headers.Add("Content-Type","application/x-www-form-urlencoded");
            //保存HTTP的报头
            //把字符串保存为BYTE数组
            string data="pwd=chinajoy";
            byte[] bt=System.Text.UTF8Encoding.UTF8.GetBytes(data);
            WWW www=new WWW("http://localhost:12063/Default.aspx",bt,headers);
            yield return www;
    
            if(www.error!=null)
            {
                m_string=www.error;
                yield return null;
            }
            m_string=www.text;
        }
    }


    下面是C#服务器端的处理:

     public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                //Get
                if (Request.QueryString["name"] != null)
                {
                    Response.Write("你传过来的name:" + Request.QueryString["name"].ToString());
                }
          
    
                //Post
                Response.Write("密码为:"+Request.Form["pwd"]);
    
                Response.End();
            }
        }
  • 相关阅读:
    反射获取成员方法并运行
    反射获取成员变量,并修改值
    反射获取私有的构造方法运行
    反射获取构造方法并运行的快速的方式
    通过反射,获取有参数的构造方法并运行
    ssh端口映射
    python常见环境安装
    hadoop fs管理文件权限
    oracle通过DBlink连接mysql(MariaDB)
    [mysq]ERROR 2006 (HY000) at line xx: MySQL server has gone away 解决方法
  • 原文地址:https://www.cnblogs.com/hometown/p/3888444.html
Copyright © 2020-2023  润新知