unity3D__利用Http收发消息

网络说难不难,说简单不简单  其实  在x项目开始的时候就应该定好.

一开始协商好协议   后期真的会省好多事  

 

 

项目刚开始  上面都没讲    盲目的去做

开始给自己挖了一个大坑   真是  欲哭无泪 

一般而言  游戏服务器  大多都是需要在服务器上去跑一套程序  小游戏就无所谓了   

本项目的服务器是用PHP跑的   形式跟网页一样  

萌新 开始觉得 没什么   网上不是有教程吗  然后就开始了踏坑之路

wwwform  类   可以处理上传数据表  但是 不知道怎么处理header   也就是说  表 跟header不能同时去传送  

想传送 可以  必须用流的形式去传信息  就不能用formdate    晕了  真是有种想死的冲动  

我换了unitywebrequst    用post去传   结果  也是  还久没看API了  看的时候还是

大眼一扫  没有需要的就直接过   其实忽略了一个重点  

unitywebrequster   这是个新的  里面好像有5个重载  大眼一看就能明白的   直接掠过吧   你就看那个不明白的   传值 有一个是列表的那个   重点看一下  

header  这个  可以这样去做  unitywebrequster.setrequsterHeader (string name,string value)   加入需要设置的header就一个的 话  直接添加就可以   如果多个   可以再点出来这个函数  继续添加     到此  你会遇到一个问题  就是你再登录的时候  会提示你设置的header有问题   尤其是 Oringin     好像是跨域的问题   搞了半天  没解决   果断弃用这个  

bestHttp   这真是一个非常好用的插件  

简单易用  兼容性很好  可以全平台支持  

本来只是想说下想法  不贴代码  但是  为了能帮到别人 还是详细点吧 

using BestHTTP;
using LitJson;
using BestHTTP.Statistics;
using BestHTTP.Cookies;

 

HTTPRequest hTTP = new HTTPRequest(new Uri(login_url),HTTPMethods.Post, OnRequestFinished);

                                                                                   这个是地址  这个是发送消息的方式    这个是方法的回调

TP.AddField("LoginForm[username]", prompt.ID);
hTTP.AddField("LoginForm[password]", prompt.Password);

hTTP.AddField("ajax","login-form");

        hTTP.SetHeader("Origin", "http://localhost");       //这个是设置的header
        hTTP.SetHeader("X-Requested-With", "XMLHttpRequest"); //这个有特殊设置的header

        hTTP.IsCookiesEnabled = true;    //这个是用来设置cookie   为true的时候  会自动处理
        
        yield return hTTP.Send();   

  void OnRequestFinished(HTTPRequest request, HTTPResponse response)

{

response.DataAsText;  这个是   发送消息返回的信息   可以直接打印出来

 

}

  到此   告一段落  
 

     

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值