`
810364804
  • 浏览: 783434 次
文章分类
社区版块
存档分类
最新评论

unity3d中的http通信

 
阅读更多

转自http://blog.csdn.net/mfc11/article/details/8188785

http 提交数据原理

http 协议通过 url来获取和提交数据 。提交数据的方式 有两种,一种是get方法,一种是post方法。get一般用于告诉服务器把满足参数的数据发送给回来。

例如:get 的html代码如下:

    <form action="search.php" method ="GET">
         <username:<inputtype="text"name="user"/><br>
         <password:<inputtype="password "name="pwd"/><br>
          <input type="submit"value="login"/>
     </form >


post一般是将数据发送给服务器,服务器将这些数据进行处理,比如说存储到数据库。

例如:post的html 代码如下:

 <form action="login.php" method ="POST" >
         <username:<inputtype="text"name="user"/><br>
         <password:<inputtype="password "name="pwd"/><br>
          <input type="submit"value="login"/>
     </form >


其实区别就是提交的方式不一样,点击login按钮后,浏览器地址栏里分别显示如下:

get方法url为:http://127.0.0.1/serach.php?user=hortor&pwd=123

post方法url为:http://127.0.0.1

PHP服务端接收数据方法

服务端针对这两种方式响应的有两种方式:

get方法接收数据的方法为 $_GET[user],来接收客户端发送的user的值。

post方法接收数据的方法为 $_POST[user]也是用来接收客户端变量user的值。

UNITY WWW类使用方法

unity www 类同样对应两种提交数据的方式,常用的两个构造函数为:

staticfunctionWWW (url :String) : WWW

staticfunctionWWW (url :String, form :WWWForm) : WWW

第一个函数是通过get方法向服务器发送数据,第二个是用post提交数据,其中WWWForm有个方法叫:AddField(agr : string, value : string),来添加参数。

get例子:(可能会出现在网页上看到的是乱码的现象,最好用post)

#pragma strict
privatevar url : String = "127.0.0.1/login.php?user=test&pwd=123";
function Start () {
     var getData : WWW = WWW(url);
     yield getData;     
     if(getData.error != null) {
          Debug.Log(getData.error);
     }
     else {
          Debug.Log(getData.text);
     }
}


post例子:

#pragma strict
privatevar url : String = "127.0.0.1/login.php";
function Start () {
     var form : WWWForm = new WWWForm();
     form.AddField("user", "test");
     form.AddField("pwd", "123");
     var getData : WWW = WWW(url, form);
     yield getData;
     if(getData.error != null) {
          Debug.Log(getData.error);
     }
     else {
          Debug.Log(getData.text);
     }
}


其中yield 这个方法是程序每一帧调用一次,当getData 执行完成,返回结果,这就相当于是异步请求数据。WWW 类有几个常用的静态变量,分别为:

1、WWW.text 返回从网页得到数据,类型为string。

2、WWW.error 返回错误信息,比如说超时,网络连接错误等问题。

分享到:
评论

相关推荐

    Unity3D教程:利用UnityHttpClient类实现Http通信1

    Unity3D教程:利用UnityHttpClient类实现Http通信 Posted on 2013年02月04日 by U3d / Unity3D 基础教程

    Unity3D Http网络通信应用实例

    这个实例涉及Http网络通信,里面有下载,通过HTTP获取天气信息,以此稍作修改,登录验证也如同这般。

    Unity3D网络通讯

    在Unity3D中实现Http,Socket TCP、UDP,WebService,WebApi通讯方式

    Unity中和后端进项Http通信的插件

    Unity中和后端进项Http通信的插件,简单易用

    Best-HTTP2-2.6.2-for-Unity3D-2021

    HTTP通信:BestHTTP支持基于HTTP和HTTPS的通信,并提供了一系列易用的方法来发送HTTP请求(GET、POST、PUT、DELETE等)。 WebSocket通信:BestHTTP提供了对WebSocket协议的支持,可以建立WebSocket连接,并通过事件...

    Unity3D Best HTTP Pro

    做游戏的同学肯定知道它是干啥的。对比较常用的网络通信方式进行了封装,包括Http、WebSocket、Socket和SignalR。BestHttp比Unity3D自带的www功能丰富很多

    unity网络传输 Best HTTP Pro

    对比较常用的网络通信方式进行了封装,包括Http、WebSocket、Socket和SignalR。BestHttp比Unity3D自带的www功能丰富很多.

    AndroidStudio与Unity3D进行Socket通讯

    AndroidStudio与Unity3D进行Socket通讯,互发信息,具体文档http://blog.sina.com.cn/s/blog_1322690230102y4t0.html

    Unity3d C#实现基于SocketIOUnity的与后端(node.js为例)Socket通信功能工程

    该功能主要是项目上的需求,按后端的需求就是我们通过SocketIO进行通信,之前游戏通信功能大多是基于原始的Socket进行封装,需要对包体进行设计,还需要粘包拆包等...这也使得我们能顺畅的在Unity3d上使用socket.io。

    unity3d 网络插件 Best HTTP Pro Edition 1.10.unitypackage

    Unity用来和服务器通信可以用原生的WWW,但是WWW所提供的功能并不多,不能满足很多需求。因此我们可以自己封装Http协议来满足更多的需要。在Unity游戏里使用Http协议的情况很常见,因为它操作简单,便于实现,经常用...

    PowerUI+-+HTML+CSS_1.9.122

    unity3d AssetStore 上的付费插件 纯c#写的一个简化版webview,支持简单的js css html。 支持c#和html通信,支持html调用c#功能。 体积比较轻量,加载速度比Native嵌入控件的方式快。 导入到项目中后在路径...

    java服务器 java机器人 unity3D客户端.rar

    unity3d Newtonsoft.Json 协议-http post 服务器端 Spring Boot Netty Client/Server 实现网络层的客户端与服务器通信 Spring Shell 用于开发命令窗口,模拟客户端操作 Arthas 实现不重启服务器热更新代码 Logback ...

    unity3d手机游戏开发1,2,3,4,8,10章

    第 8章 用 Unity创 建 网页游戏 ¨ … ¨ … ¨ … … … … … … … … … … … … … … … … … … … 245 81 lRl页 游戏简介 ………………………………………………………………………… 245 82 Unlty Wob游 ...

    unity聊天功能

    cosket通信的聊天功能,博客参考:http://write.blog.csdn.net/postedit/16853973

    colyseus::crossed_swords:Node.js的多人框架

    Colyseus是Node.js的权威性多人游戏框架,其客户端可用于Web,Unity3d,Defold,Haxe和Cocos2d-X。 () 该项目致力于为服务器端和客户端提供实时和基于回合游戏的可同步数据结构,配对,以及易于使用。 该框架的...

    【2017贸泽大赛】二等奖作品:VR视角远程牵引控制机械臂-电路方案

    因为要用到VR,这里选择了Unity3D。远程通信要实现: 让操作者用头部转动去控制机械臂第一视角的转动 分析虚拟机械臂的运动从而计算出相应的控制指令来实现现实的机械臂和虚拟机械臂的同步。 结合CC3220的方案: 上面...

Global site tag (gtag.js) - Google Analytics