【问题标题】:hololens 2 tcp client - access permissionshololens 2 tcp 客户端 - 访问权限
【发布时间】:2021-01-09 07:30:44
【问题描述】:

我为 hololens 2 统一开发,现在遇到了套接字通信问题。 我正在尝试在 hololens 2 上获取 TCP 客户端,如果我想连接到 TCP 服务器,我的眼镜上出现以下错误(统一工作): System.Exception:试图以访问权限禁止的方式访问套接字。

我已经在播放器设置中检查了权限:InternetClient、InternetClientServer、PrivateNetworkClientServer

使用

团结 2019.4.2f1

API 兼容级别 .NET 4.x

脚本后端:IL2CPP

目标 SDK 版本:10.0.18362.0

使用:Windows.Networking.Sockets.StreamSocket

有什么建议吗?

【问题讨论】:

  • 您的应用似乎无法绑定到端口,它可能被其他进程占用。您可以尝试选择另一个端口进行侦听吗?此外,我们始终推荐 Unity LTS (Long Term Support) 流作为最佳版本,以避免一些已知问题,目前建议使用 Unity 2019.4.11f1:unity3d.com/unity/qa/lts-releases 因此,您能否升级您的 unity 版本先试试这个功能再试试?
  • 我尝试安装2019.4.11f1版本但没有成功。我想用端口 10004 连接到本地网络。如果我尝试从其他计算机连接客户端,它工作得很好。还有其他建议吗?

标签: sockets unity3d tcp client hololens


【解决方案1】:

我正在使用 Unity 2019.4.13f1 并且 tcp 连接工作正常。

示例代码:

public string ServerIp = "192.168.31.12";
private const int PORT = 9999;
private Socket Client;
public void CreateClient()
{
    Debug.Log("\r\nCreating Client...");

    Thread createClientAndConnect = new Thread(() =>
    {
        try
        {
            IPEndPoint serverEP = new IPEndPoint(IPAddress.Parse(ServerIp), PORT);
            Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            Client.Connect(serverEP);

            Thread listenToServer = new Thread(Receive);
            listenToServer.IsBackground = true;
            listenToServer.Start(Client);
        }
        catch (Exception e)
        {
            Debug.LogError("Error when creating client");
            Debug.LogError(e.Message);
        }
    });
    createClientAndConnect.IsBackground = true;
    createClientAndConnect.Start();

    Debug.Log("Client is created");
}

【讨论】:

    【解决方案2】:

    很久以前,我在开发 Hololens1 时遇到了连接问题。我没有研究过 Hololens2 网络协议。但我面临的最大问题之一是 Hololens UWP C# 和 Unity C# 彼此不同,它们会产生冲突。您可能需要为通信指定指令。看看这个link。这家伙很好地解释了问题和解决方案。

    我的建议是,如果您不发送持续请求并定期发送数据,请尝试创建一个接受 REST API 调用的基于服务器的应用程序。这将是一个非常强大的解决方案。

    【讨论】:

    • 感谢您的回复。我刚刚检查了清单,虽然在 Player 设置中检查了它并且现在连接正常,但在创建构建后没有从统一创建功能!
    • 您能否更具体地说明需要检查哪些能力?
    猜你喜欢
    • 1970-01-01
    • 2022-10-12
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 2022-10-21
    • 2015-02-18
    相关资源
    最近更新 更多