【转】Unity3D开发之Http协议网络通信

时间:2023-03-04 12:38:26

之前unity3d项目要做跟服务器通信的模块,然后服务器那边的协议是基于http的Jsonrpc通信方式
一开始,用C#的本身类HttpWebRequest来提交请求,很快就在电脑上面成功了,代码也很简单,这里就不贴了
坑爹的是。。。这个类没办法在IOS或者android平台上面使用,只能在MAC或者WIN上面进行Http的网络请求。。。所以就没用了= =。。。

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

  1. string PostData = "{\"age\":1}";
  2. Hashtable headers = new Hashtable();
  3. headers.Add("Content-Type", "application/json");
  4. 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>
  5. WWW www = new WWW("http://XXX", pData, headers);

复制代码

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

[JavaScript] 纯文本查看 复制代码
?

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

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