/// <summary>
        /// 获取目标连接目标地址及端口号
        /// </summary>
        /// <returns></returns>
        private AddressPort GetTargetAddressPort()
        {
            var addressPort = new AddressPort
            {
                Address = GetTargetIpAddress(),
                Port    = GetTargetPort()
            };

            return(addressPort);
        }
        /// <summary>
        /// 获取本地连接目标地址及端口号
        /// </summary>
        /// <returns></returns>
        private AddressPort GetLocalAddressPort()
        {
            var addressPort = new AddressPort
            {
                Address = GetLocalIpAddress(),
                Port    = GetLocalPort()
            };

            return(addressPort);
        }
        /// <summary>
        /// 开启侦听服务
        /// </summary>
        private void StartServer()
        {
            var addressPort = new AddressPort();

            try
            {
                Dispatcher.Invoke(() =>
                {
                    BtnStartListening.IsEnabled = false;
                    BtnStartListening.Content   = "正在开始侦听";
                    addressPort = GetLocalAddressPort();
                });
            }
            catch (Exception)
            {
                Dispatcher.Invoke(() =>
                {
                    BtnStartListening.IsEnabled = true;
                    MessageBox.Show("错误的IP地址或端口号!");
                });
                return;
            }

            var result = _misakaConnection.Connect(addressPort.Address, addressPort.Port);

            if (result)
            {
                Dispatcher.Invoke(() =>
                {
                    BtnStartListening.Content = "停止侦听";
                    OnConnectionModefied(_misakaConnection);
                    AddReportData(ReportMessageType.Info, "服务器侦听启动");
                });
            }
            else
            {
                Dispatcher.Invoke(() =>
                {
                    BtnStartListening.Content = "开始侦听";
                    AddReportData(ReportMessageType.Info, "服务器侦听失败");
                });
            }

            Dispatcher.Invoke(() =>
            {
                ChangeServerControlStatus(false);
                BtnStartListening.IsEnabled = true;
            });
        }
        /// <summary>
        /// 客户端发起连接
        /// </summary>
        private void ClientConnect()
        {
            var addressPort = new AddressPort();

            try
            {
                Dispatcher.Invoke(() =>
                {
                    addressPort          = Dispatcher.Invoke(GetTargetAddressPort);
                    BtnConnect.IsEnabled = false;
                    BtnConnect.Content   = "正在连接服务器";
                });
            }
            catch (Exception)
            {
                Dispatcher.Invoke(() => MessageBox.Show("错误的IP地址或端口号!"));
                return;
            }

            var result = _misakaConnection.Connect(addressPort.Address, addressPort.Port);

            if (result)
            {
                Dispatcher.Invoke(() =>
                {
                    _misakaConnection.TargetConnectionName = $"{addressPort.Address}:{addressPort.Port}";
                    BtnConnect.Content = "断开连接";
                    OnConnectionModefied(_misakaConnection);
                    ReportService.Info("连接服务器成功!");
                });
            }
            else
            {
                Dispatcher.Invoke(() =>
                {
                    ReportService.Error("尝试连接失败!");
                    BtnConnect.IsEnabled = true;
                    BtnConnect.Content   = "连接服务器";
                });
                return;
            }

            Dispatcher.Invoke(() =>
            {
                ChangeClientControlStatus(false);
                BtnConnect.IsEnabled = true;
            });
        }