【问题标题】:How to get sockets to work between Unity and UWP apps?如何让套接字在 Unity 和 UWP 应用程序之间工作?
【发布时间】:2016-05-17 22:31:35
【问题描述】:

我正在尝试制作一款从 Microsoft Band 获取心率值的游戏。我试图检查是否可以使用套接字从 exe 文件中获取数据以将其发送到 Unity。但不幸的是,UWP 应用没有 TcpClient 或 TcpListener。 Unity 不支持其他 Windows.Networking.Sockets。我想知道如何让两者进行通信并发送心率值?

提前致谢。

P.S 如果重要的话,我正在尝试构建 UWP 10 应用并使用 Unity 5.3.4p5。

编辑: 好的,所以我设法让 TCPClient 和 TCPListener 使用此处建议的内容出现在 UWP 应用程序中: https://github.com/dotnet/corefx/issues/5939

也就是说要安装这个: http://www.nuget.org/packages/System.Net.Sockets/4.1.0-beta-23516

现在仍然存在的问题是当我尝试初始化 TcpClient 时。应用程序自动退出,我被发送到“App.g.cs”中的以下代码:

        UnhandledException += (sender, e) =>
        {
            if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
        };

我不知道现在该做什么。我所做的就是创建一个这样的:

TcpClient client;
AddressFamily fam;

public MainPage()
    {
        this.InitializeComponent();
        client = new TcpClient(fam);
        ConnectWithBand();
    }

终于弹出了一个错误。如下: HRBand.exe 中 0x76686D7E (combase.dll) 处未处理的异常:0xC000027B:发生应用程序内部异常(参数:0x0871B9E0、0x00000002)。

编辑 2: 我放弃了在 UWP 上使用 System.Net.Sockets,所以我标记了这个问题的正确答案。后续问题在这里:

How to connect to Unity game server socket from UWP app via sockets?

【问题讨论】:

    标签: c# sockets unity3d visual-studio-2015 uwp


    【解决方案1】:

    Unity 不支持其他 Windows.Networking.Sockets

    但它确实支持来自System.Net.Sockets 的套接字。

    Unity 支持 TCP 套接字。

    要让 Unity 使用套接字,您必须使用 Thread 否则 Unity 将冻结。

    Here 是 Unity 中 TCP 服务器的完整示例。您可以轻松地将其移植到 TCP 客户端。

    【讨论】:

    • 有趣。即使一个使用 System.Net.Sockets 而另一个使用 Windows.Networking.Sockets,两者仍然能够连接吗?对不起,这对我来说很新鲜
    • 套接字是套接字。用 Java 或 C++ 编写的 TCP 网络代码将能够与 C# 中的 TCP 网络中的一个通信。只要 Windows.Networking.Sockets 使用 TCP 套接字,您就可以使用另一个 TCP 套接字库与其通信。它会起作用的。
    • 好的。将对其进行测试,并让您知道情况如何。谢谢!
    • @ChaosEmperor93 欢迎您!我希望它能够工作。如果是这种情况,请不要忘记勾选此答案。
    • 你能再看看我的问题吗?我添加了一个新问题。另外,我没有找到如何处理您发送给我的链接的客户端,但我偶然发现了如何在 UWP 应用程序中使用 TcpClient
    猜你喜欢
    • 2016-09-15
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    相关资源
    最近更新 更多