zoukankan      html  css  js  c++  java
  • 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();
            }
        }
  • 相关阅读:
    CentOS6.5 [ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/lib/mysqld/mysqld.pid' (Errcode: 2)
    linux防火墙
    Linux磁盘分区与LVM详解
    LVM分区扩展空间
    linux 分区方法(超过2T的硬盘)
    linux异常处理:selinux配置错误导致无法重启
    linux网卡配置文件
    Zabbix4.0系统clone、mass update使用
    Zabbix系统配置日志监控告警--关键字触发
    Zabbix4.0系统配置事件通知
  • 原文地址:https://www.cnblogs.com/hometown/p/3888444.html
Copyright © 2011-2022 走看看