コード例 #1
0
        private UdpCmdPacket ParseCommand(string returnData)
        {
            var obj = DocParser.ParsePacket(returnData);

            Console.WriteLine("****** Parse packet from {0} of type {1}", obj.Host, obj.DocType);
            return(obj);
        }
コード例 #2
0
        /// <summary>
        /// The PollDirectoryBus
        /// </summary>
        private async void PollDirectoryBus()
        {
            threadRunning = true;
            try
            {
                DirectoryBusGreeting dirServices;
                string url;
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Add("User-Agent", "Virtual Rig Bus Version 1");
                    while (true)
                    {
                        try
                        {
                            dirServices = DirGreetingList.Instance.First;
                            if (dirServices != null)
                            {
                                url = string.Format("http://{0}:{1}/api/Directory/V{2}/list", dirServices.Host, dirServices.TcpPort, dirServices.MaxVersion);
                                var response = await httpClient.GetStringAsync(new Uri(url));

                                var buses = DocParser.ParsePacket(response) as ActiveBuses;
                                ProcessBus(buses);
                            }
                        } catch (Exception e)
                        {
                            HamBusEnv.Logger.LogInformation($"parse1 {e.Message}");
                            //Console.WriteLine("dir get {0}", e.Message);
                        }
                        Thread.Sleep(HamBusEnv.SleepTimeMs);
                    }
                }
            }
            catch (Exception e)
            {
                HamBusEnv.Logger.LogInformation($"PollDirectoryBus {e.Message}");
                //Console.WriteLine("PollDirectoryBus exceptions: {0}", e.Message);
                threadRunning = false;
            }
        }