Exemple #1
0
        ///запус потока
        private void threadForRef_start(byte compressPercent)
        {
            
            textBlock.Dispatcher.Invoke(new Action(() => textBlock.Text = "Статья на сжатии..."));
            button.Dispatcher.Invoke(new Action(() => button.Visibility = System.Windows.Visibility.Hidden));
            int port = Int32.Parse(ConfigurationManager.AppSettings["refServerPort"].ToString());

            TCPClient refSever = null;
            try
            {
                refSever = new TCPClient(refServIP, port);
            }
            catch { }
            
            if(refSever != null)
            {
                string url = URL;

                string message = url + "|" + compressPercent;

                MetaData md = new MetaData(MetaData.Roles.client, MetaData.Actions.refNews, MetaData.ContentTypes.link, message);
                refSever.Send(message, md);
                string response = refSever.ReceiveSyncData(0);
                textBlock.Dispatcher.Invoke(new Action(() => textBlock.Text = response));
                button.Dispatcher.Invoke(new Action(() => button.Visibility = System.Windows.Visibility.Visible));
            }
            else
            {
                textBlock.Dispatcher.Invoke(new Action(() => textBlock.Text = "Прервано соединение с сервером реферирования. Закройте то окно."));
            }

        }
Exemple #2
0
        private void btnReferate_Click(object sender, RoutedEventArgs e)
        {
            if (lvArticles.SelectedIndex < 0)
            {
                MessageBox.Show("выберите статью");
                return;
            }
            try
            {
                string url = rssChanels[cmbCategoryList.SelectedIndex].Articles[lvArticles.SelectedIndex].link;
                MetaData md = new MetaData(MetaData.Roles.client, MetaData.Actions.refNews);
                int port = Int32.Parse(ConfigurationManager.AppSettings["dispatcherTCPport"].ToString());
                dispComponent = new TCPClient(ipDispatcher, port);
                dispComponent.Send("", md);
                string response = dispComponent.ReceiveSyncData(0);

                if (response == "0000")
                {
                    MessageBox.Show("В данный момент эта опция не доступна. Пожалуйста, обратитесь к администратору.");
                    return;
                }

                ReferateView winRef = new ReferateView(url, response);
                winRef.Show();
            }
            catch (Exception)
            {

                MessageBox.Show("Нет подключения к диспетчеру. Идет повторный поиск диспетера.");
                broadCast.Start();
            }
            
            //ReferateView winRef = new ReferateView();
            
        }