【发布时间】:2021-04-19 15:01:16
【问题描述】:
我创建了一个 Unity 应用程序,它使用 System.Net.Sockets 与单独的服务器计算机进行 TCP 通信。此应用程序在编辑器中完美运行,并且适用于 Android 或 PC。但是,当我尝试创建 iOS 版本(在 MacBook 上)时,应用程序正确加载,但没有进行网络通信。
接下来我创建了一个开发人员构建,但在运行时没有出现错误或警告,只是没有连接到服务器。我确保仔细检查它们是否都在同一个网络上,并且端口设置正确。
我目前正在调试和查看文档,但我没有看到任何说明 System.Net.Sockets 与 iOS 不兼容的内容。回答完以下问题后,我可以上传代码 sn-ps / 询问有关特定代码的新问题。
Unity 是否支持 iOS 的 System.Net.Sockets?在为 iOS 构建联网项目时,是否需要做一些独特的事情?
感谢您的时间和帮助!
【问题讨论】:
-
这些问题确实不适合 SO。您可能首先了解如何在 iOS 上实现 System.Net.Sockets,检查自动生成的 C++ 源代码或 .NET 的 Mono 实现以获取更多线索。它可能会归结为达尔文。此外,您应该提供任何错误或控制台输出。
-
@NCarlson 只是简单地说......实际上你几乎必须在 Unity 中使用这个 websocket 库......github.com/Marfusios/websocket-client(以前有另一个很流行,但它有随着时间的推移分崩离析)。从头开始使用 Net Sockets 确实是一项巨大的工作。 (它是比乍看起来更难的事情之一。:/)
-
另外@NCarlson 请注意,在基于帧的游戏引擎中使用消息传递(它是连续的)确实非常棘手。如果您真的要尝试使用网络套接字从头开始编写自己的代码,请点击此处:gamedev.stackexchange.com/a/169413/86883
-
一个很好的建议是在论坛上寻找优秀的 BestHTTP/2 包(和/或其他类似的资产存储库)。你可以直接去那里问问题。这通常是查找信息的最聪明的方法。举个例子,为统一创建通常的相机资产的人,实际上比任何其他活人都更了解“统一的相机”问题!呵呵!它通常是提出此类问题的最佳/唯一场所
标签: c# ios unity3d networking tcp