UnityWebRequest的介绍

1.UnityWebRequest是用于HTTP请求和处理HTTP响应的模块化系统。UnityWebRequest主要目的是允许Unity的games去连接Web brower后端。同时也支持高需求的特点,比如HTTP请求,Post/Put流操作,并且完全控制HTTP的包头和动作。

2.系统由两个层次组成:

  • 高层API(HLAPI)包含底层API,并未执行常用操作提供了一个方便的界面。
  • 底层API(LLAPI)为更高级的用户提供了最大的灵活性。

3.平台支持

  • All versions of the Editor and Standalone players
  • WebGL
  • Mobile platforms: iOS, Android
  • Universal Windows Platform
  • PS4 and PSVita
  • XboxOne
  • Nintendo Switch

4.体系结构

UnityWebRequest生态系统将HTTP事务分解为三种不同的操作:

  • 给服务器发送数据
  • 接收来自服务器的数据
  • HTTP流量控制(例如重定向和错误处理)

为了为高级用户提供更好的界面,这些操作分别由它们自己的对象来管理:

  • UploadHandler对象:处理数据到服务器的传输
  • DownloadHandler对象:处理从服务器收到的数据的接收,缓冲和后处理。
  • UnityWebRequest对象:管理另外两个对象,并处理HTTP流量控制。该对象是自定义标题和URL定义的位置,一级存储错误和重定向信息的位置。

扫描二维码关注公众号,回复: 1672248 查看本文章

对于任何HTTP的业务,正常的代码流是:

  • 创建一个Web请求对象
  • 配置Web请求对象:

*设置自定义标题

*设置HTTP动词(例如Get,Post,Head-在Android以外的所有平台上都允许使用自定义动词)

*设置网址


  • (可选)创建上传处理程序并将其附加到Web请求

*提供要上传的数据

*提供要上传的HTTP表单

  • (可选)创建一个下载处理程序并将其附加到Web请求
  • 发送Web请求

*如果在协同程序中,可以回用Send()发送出调用结果以等待请求完成

  • (可选)从下载处理程序读取收到的数据
  • (可选)从UnityWebRequest对象读取错误信息,HTTP状态代码和响应头。






猜你喜欢

转载自blog.csdn.net/sinat_25682007/article/details/80415044