Unity3D开发之Http协议网络通信

时间:2023-01-05 19:39:06

之前Unity3D项目要做跟服务器通信的模块,然后服务器那边的协议是基于http的Jsonrpc通信方式

一开始,用C#的本身类HttpWebRequest来提交请求,很快就在电脑上面成功了,代码也很简单,这里就不贴了

坑爹的是。。。这个类没办法在IOS或者Android平台上面使用,只能在MAC或者WIN上面进行Http的网络请求。。。所以就没用了= =。。。


然后再用WWW这个类,通过官方的文档,这个类其实是对网络请求的一个简单封装,

比如:

string PostData = "{\"age\":1}";

Hashtable headers = new Hashtable();
headers.Add("Content-Type", "application/json");

byte[] pData = Encoding.ASCII.GetBytes(<span style="font-family: Arial, Helvetica, sans-serif;">PostData</span><span style="font-family: Arial, Helvetica, sans-serif;">.ToCharArray());</span>

WWW www = new WWW("http://XXX", pData, headers);

这个请求其实就相当于我们用Postman的时候,提交请求为:

  1. POST XXX HTTP/1.1
  2. Content-Type: application/json
  3.  
  4. {"age":1}


顺便提一下,其他的请求方式还可以配合WWWForm这个类,这里就不细说了,只是个抛砖引玉罢了,大家有需求可以到官网上面进行查询。

官网API传送门:http://docs.unity3d.com/ScriptReference/WWW.html


通过这样理解,就不难运用这个来进行Http的各种不同方式请求了。