Unity现在支持.NET 4.5,我可以使用System.Net.Http命名空间中的HttpClient类.这很好,因为我有现有的客户端库,因此易于重用. 有谁知道使用单声道HttpClient和Unity自己的网络类之间的内部区别? 我
有谁知道使用单声道HttpClient和Unity自己的网络类之间的内部区别?
我担心HttpClient不能针对不同的平台进行优化,因此可能会造成麻烦或变慢.
两者之间有很多不同之处.> UnityWebRequest不允许您使用更改某些标头.使用HttpClient,您几乎可以更改任何标头.
> UnityWebRequest可以在不用担心线程或异步的情况下使用.您所做的就是使用协同程序等待请求.整个线程的东西已经在本机上完成了.
>某些平台不支持System.Net命名空间中的任何内容.其中一个是WebGL.这意味着当您将平台切换到WebGL时,HttpClient甚至不会编译. UnityWebRequest适用于WebGL.
> UnityWebRequest旨在使内存中的数据下载更容易,并将数据转换为Unity资源,如AudioClip,VideoClip,AssetBundle,Texture2D等.使用HttpClient,您将不得不编写大量代码来检索此类数据,或者可能必须在接收它们之后将数据保存在光盘上,以便能够将它们转换为Unity资源形式.
>想在UnityWebRequest中使用SSL吗?祝你好运!您最终只会出现模糊的“未知错误”错误.当您的HttpClient中涉及SSL时,可以选择.
对于我刚刚提到的所有内容,您应该将代码移植到使用UnityWebRequest,除非您正在执行UnityWebRequest不支持的操作.