HoloLens-Unity-TCP:有时无法将客户端连接到服务器

时间:2019-02-22 11:55:51

标签: unity3d tcp client augmented-reality hololens

所以我有一个客户端→HoloLens,它连接到我的tcp服务器。问题是,有时我可以连接,有时不能连接,我也不知道为什么。

这是我的代码的一部分:

public class BrowserClient : IBrowserClient{
    private TcpClient Client { get; } = new TcpClient();
    private RawImage RawImage { get; set; }
    private CancellationTokenSource Source { get; set; }

    //Connect
    public void Initialize(int connectionTimeoutInMs, string address, int port)
    {
        Source = new CancellationTokenSource();
        try
        {
            using (var linked = CancellationTokenSource.CreateLinkedTokenSource(Source.Token))
            {
                var task = Client.ConnectAsync(address, port);
                task.Wait(connectionTimeoutInMs, linked.Token);
                if(task.IsCompleted)
                {
                    Client.ListenAsync(OnMessageReceived, Source.Token);
                }
                else
                {
                    throw new Exception("The client failed to connect to the server.");
                }
            }
        }
        catch
        {
            //TODO: Log
        }
    }

所以有时task.IsCompleted是错误的,我无法连接,有时是真实的。超时设置为15秒。我要做的是,在我的PC上启动服务器,然后在HoloLens上进行构建和部署。

我有一个Wpf-Testclient,它可以毫无问题地连接到同一台服务器。

0 个答案:

没有答案