【问题标题】:Unity3D - portable HTTP clientUnity3D - 便携式 HTTP 客户端
【发布时间】:2015-07-17 15:52:21
【问题描述】:

我是 Unity3D 的新手,我想编写简单的 HTTP 客户端来连接到我的服务器,发送自定义数据并返回结果。

我可以使用 C# 套接字(.NET 类)编写一些东西,但我不确定它的可移植性如何。我可以指望在 Windows 上运行的 C# 脚本(使用套接字等)也可以在其他平台(Linux、web、Android、iOS、windows phone)上运行吗?还是仅支持核心基本功能而其他 .NET 功能不可移植(在 Windows 平台以外的平台上无法使用)?

【问题讨论】:

  • 如果您需要可移植性,我会选择单声道库或原生统一。显然 MS windows 库不能在 iOS 等上运行。

标签: c# windows sockets httpclient portability


【解决方案1】:

unity c# 脚本可以访问的任何库都是跨平台的。只有少数东西是 mono 不支持的,根据内存,这些都是与注册表或其他 Windows 特定功能相关的东西。

在处理用户库时,您应该担心跨平台问题,尤其是任何使用本机代码的库。套接字位于 mscorlib 或 System 库中,这两者都将在所有单声道平台上可用。

Unity 在内部使用单声道,即使在 Windows 上也是如此。因此,任何与 .net 框架和 mono 之间的差异相关的问题都应该立即出现。

【讨论】:

  • 谢谢,任何想法如何进入“http 客户端”方向?我对 .NET 和 C# 有点陌生。 Unity3D 的 WWW 类的选项似乎不那么高,但另一方面,套接字是非常低级的东西。在这一点上,跨平台是必须的。是否有任何 C#(或 .NET)类可能派上用场并可以移植到其他操作系统?
  • unity 有 System.Net.Http 库吗?他们有一个 HTTPClient 应该有你需要的一切。