【问题标题】:Unity can connect to remote server from editor but not from android deviceUnity 可以从编辑器连接到远程服务器,但不能从 android 设备
【发布时间】:2017-09-19 17:39:28
【问题描述】:

我正在使用 Unity 开发多人视频游戏。 我可以使用这样的方式成功连接到远程服务器:

public string GetToken(string user, string pass)
    {
        string uri = _serverUrl + "/Token/" + user + "/" + pass;
        UnityWebRequest www = UnityWebRequest.Get(uri);

        www.Send();
        WaitForSeconds w;
        while (!www.isDone)
            w = new WaitForSeconds(0.1f);
        string token = null;
        JObject o = JObject.Parse(www.downloadHandler.text);
        token = o.First.First.ToObject<string>();            

        return token;
}

当我在我的 PC 上尝试 Unity 编辑器中的代码时,这可以正常工作。我可以成功连接到广域网中的远程服务器。

但是,当我尝试在 Android 设备上部署游戏时。连接失败。 (在构建 Android apk 之前,我一直小心添加完整的互联网访问权限)。

知道会发生什么吗?

谢谢!

【问题讨论】:

  • 那么连接失败的错误日志是什么?如果你更新你的问题会很好。可能会对其他人有所帮助,因为它更清楚。
  • 如果这是问题所在,当它在 Android 上运行时,我在哪里可以看到此日志?
  • 您的网址是什么样的?可以发在这里吗?
  • 网址看起来像:“xxx.xxx.xxx.xxx:xxxx/MyServer”;请注意,使用 android sdk 监视器不会在日志中显示任何内容
  • 网址中是否有用户名和密码?这就是我想要弄清楚的

标签: c# android unity3d network-programming unity5


【解决方案1】:

实际上这是一条红鲱鱼。 问题与网络连接无关,而是与 json.net 有关 我选择了 .net 2.0 版本的库,进入 unity Edit->Projet Settings-> Player -> Other Settings 并将 API Compatibility level 从 2.0 Subset 更改为 2.0。

成功了!希望它对未来的人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多