Animatroller.ExpanderCommunication.ClientConnectionManager.ConnectorWorker C# (CSharp) Method

ConnectorWorker() private method

private ConnectorWorker ( CancellationToken cancelToken ) : Task
cancelToken System.Threading.CancellationToken
return Task
        private async Task ConnectorWorker(CancellationToken cancelToken)
        {
            while (!cancelToken.IsCancellationRequested)
            {
                try
                {
                    if (this.socket == null)
                    {
                        this.socket = new UdpClient();

                        var addresses = await Dns.GetHostAddressesAsync(this.connectToHostName);

                        this.socket.Connect(addresses.First(), this.connectToPort);

                        this.socket.BeginReceive(Socket_DataReceived, null);
                    }

                    await SendConnectMessageAsync();
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Error in ConnectorWorker " + ex.ToString());
                }

                cancelToken.WaitHandle.WaitOne(5000);
            }
        }