Unity WebGL游戏在Flutter WebView中运行时无法连接到游戏服务器

4sup72z8  于 2个月前  发布在  Flutter
关注(0)|答案(3)|浏览(47)

问题:

我正在面临一个问题,即在Flutter WebView中托管的Unity WebGL游戏中,游戏无法与游戏服务器建立连接。以下是详细信息:

问题:

  • 我有一个在Flutter应用中的WebView中运行的Unity WebGL游戏。
  • Unity游戏需要连接到游戏服务器以获取游戏数据和资源。
  • 然而,当Unity游戏尝试连接到游戏服务器时,它无法建立连接。
    观察:
  • 我使用Wireshark监控网络流量,并观察到当Flutter应用程序在WebView中运行Unity WebGL游戏时,游戏似乎不会向互联网发出任何出站连接。
  • 游戏服务器是可访问且功能正常的,其他客户端已成功连接。
  • Flutter应用程序已经打开了一个套接字,并通过Socket.IO接收游戏要求。这些要求包括游戏服务器的URL。
  • WebView中的Unity游戏应该从Flutter应用程序接收游戏服务器URL,并使用它与服务器建立连接。
    问题:
  • 有人遇到过类似的问题吗?Unity WebGL游戏在Flutter WebView中无法连接到游戏服务器?
  • 在Flutter WebView中是否存在已知的限制或配置设置,可能会阻止Unity WebGL内容进行出站网络连接?
  • 对于在Flutter应用中启用Unity WebGL游戏以建立对外部游戏服务器的连接有哪些推荐的方法或最佳实践?
  • 关于如何解决此问题的建议或建议将不胜感激。

感谢您的帮助!

hgtggwj0

hgtggwj01#

可能是WebView权限问题。资源加载请求?尝试添加WebView处理程序以查看您的WebView中的JavaScript运行时是否存在任何错误。

gojuced7

gojuced72#

可能是WebView权限问题。资源加载请求?尝试为控制台消息添加WebView处理程序,并查看您的WebView中的JavaScript运行时是否有任何错误。
我一直在努力将WebView集成到我的iOS应用中,这个WebView将运行WebGL游戏,需要连接到通过HTTP运行的游戏服务器。尽管已配置App Transport Security设置以允许任意加载并禁用CORS,但WebView仍无法连接到服务器。以下是我采取的步骤:
我在Info.plist中将NSAllowsArbitraryLoads和NSAllowsArbitraryLoadsInWebContent设置为true,以绕过HTTP连接的ATS限制:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

服务器端已禁用CORS,以确保在HTTP请求期间没有访问控制问题。
然而,WebView仍然无法建立与服务器的连接。我怀疑问题可能出在WebView如何处理HTTP内容上,或者iOS或WebView配置中可能有被忽略的设置。

wgmfuz8q

wgmfuz8q3#

你好,@Jalili-73,抱歉回复晚了。你使用的webview_flutter版本是什么?你能用原生的webview示例应用程序检查一下是否对你有用吗?如果没有,这可能是原生webview的一个限制,而不是flutter webview特有的问题。

相关问题