HoloLens - Unity - TCP: иногда не удается подключить клиент к серверу - PullRequest
0 голосов
/ 22 февраля 2019

Итак, у меня есть клиент → 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 секунд.Я запускаю свой сервер на своем компьютере, а затем собираю и развертываю на своем HoloLens.

У меня есть Wpf-Testclient, который без проблем подключается к тому же серверу.

...