如何使用 Unity3d 连接到本地解析服务器?

Posted

技术标签:

【中文标题】如何使用 Unity3d 连接到本地解析服务器?【英文标题】:How to connect to a local parse-server with Unity3d? 【发布时间】:2016-01-29 15:58:35 【问题描述】:

我需要从 Parse.com 迁移到我自己的 Parse 服务器。如何通过我的服务器 URL 在我的 Unity 项目上初始化 Parse SDK? Unity Editor 上唯一可编辑的变量是ApplicationIdDotNetKey。我看到了一个 .Net 示例,我可以在应用程序初始化时传递 serverUrl(见下文),但在 Unity 上我找不到这个选项:

ParseClient.initialize(new ParseClient.Configuration 
    ApplicationId = "YOUR_APP_ID",
    ClientKey = "YOUR_APP_CLIENT_KEY",
    Server = "http://localhost:1337/parse"
);

我发现Parse.ParseClient 类有一个内部HostName 变量。如何通过反射访问它?我试过了:

typeOf(ParseClient)

但这会返回

未知类型:Parse.ParseClient

【问题讨论】:

他们正在关闭,所以为什么要创建依赖它的东西 您找到解决方案了吗? @Elltz,这不是重定向到另一台服务器的正确方法吗?我在互联网上找到的,它的正确方法。如果没有,您能否指定如何正确迁移它?谢谢。 我找到了一种使用反射的方法,我回家后可以发布代码,但我所做的是:扩展 parseInitializer 类并使用反射来更改 ServerURL 参数。 感谢您的回复。我会等你的代码。 【参考方案1】:

**************解决方案********************

public class ParseInitializer : ParseInitializeBehaviour 
    [SerializeField] public string hostURL; 

    public override void Awake() 
        var assembly = Assembly.GetAssembly(typeof(ParseInitializeBehaviour));
        var type = assembly.GetType("Parse.ParseClient");
        var prop = type.GetProperty("HostName", BindingFlags.Static 
                            | BindingFlags.NonPublic);
        Uri uri = new Uri(hostURL;);
        prop.SetValue(type, uri, null);

        var s = (Uri)prop.GetValue(type, null);
        base.Awake();
    


【讨论】:

【参考方案2】:

您引用的文档有错字。它的 ParseClient.Initialize 使用大写的 I。如果你有正确的 #using Parse;在您的代码中,它不应标记错误。

【讨论】:

以上是关于如何使用 Unity3d 连接到本地解析服务器?的主要内容,如果未能解决你的问题,请参考以下文章

您如何连接到远程本地服务结构?

如何通过 Swift 连接到本地 Firebase 服务器?

如何使用 python 从 azure databricks notebook 连接到本地 Windows 服务器?

c# winform程序怎么连接到本地sqlserver 数据库啊

如何使用远程桌面连接到 SQL Server

如何将 plunker 连接到本地 Node.js 服务器?