gpt4 book ai didi

c# - HttpClient 和 Unity 的 UnityWebRequest/WWW API 的区别

转载 作者:太空狗 更新时间:2023-10-30 00:22:50 29 4
gpt4 key购买 nike

Unity 现在支持 .NET 4.5,我可以使用 System.Net.Http 命名空间中的 HttpClient 类。这很好,因为我有现成的客户端库,因此很容易重用。

有谁知道使用 mono HttpClientUnity 自己的网络 类之间的内部区别

恐怕 HttpClient 没有针对不同的平台进行优化,因此可能会导致问题或变慢。

最佳答案

两者之间有很多区别。

  • UnityWebRequest 不允许您使用更改某些 header 。使用 HttpClient,您几乎可以更改任何 header 。

  • UnityWebRequest 无需担心线程或异步内容即可使用。你所做的就是使用协程等待请求。整个线程的事情已经在 native 端为您完成。

  • 一些平台不支持 System.Net 命名空间中的任何内容。其中之一是 WebGL。这意味着当您将平台切换到 WebGL 时,HttpClient 甚至不会编译。 UnityWebRequest 与 WebGL 配合良好。

  • UnityWebRequest 是为了方便下载内存中的数据,并将数据转换成Unity资源,如AudioClip, VideoClipAssetBundleTexture2D 等。使用 HttpClient,您将不得不编写大量代码来检索此类数据,或者可能必须在收到数据后将数据保存在光盘上才能将它们转换为 Unity 资源形式。

  • 想要将 SSL 与 UnityWebRequest 一起使用吗?祝你好运!您最终只会遇到模棱两可的“未知错误” 错误。当您的 HttpClient 涉及 SSL 时,可以选择。

对于我刚才提到的所有内容,您应该移植您的代码以使用 UnityWebRequest,除非您正在做一些 UnityWebRequest 不支持的事情。

关于c# - HttpClient 和 Unity 的 UnityWebRequest/WWW API 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160380/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com