Esempio n. 1
0
        private void Send(byte[] data)
        {
            if (shareForm != null)
            {
                MessageBox.Show("Идет отправка другого сообщения. Попробуйте позднее.");
                return;
            }
            if (!serialPort1.IsOpen)
            {
                MessageBox.Show("Выберите порт");
                return;
            }
            byte[] sharing = Encrypt(data, KeyTextBox.Text);
            sharing = RSCoder.Encode(sharing);

            shareForm = new ShareForm(serialPort1, sharing, ping, this);
            shareForm.Show();
        }
Esempio n. 2
0
        private byte[] Take()
        {
            if (!serialPort1.IsOpen)
            {
                MessageBox.Show("Выберите порт");
                return(null);
            }
            byte[] data = new byte[recd.Count];
            for (int i = 0; i < data.Length; i++)
            {
                data[i] = recd[i];
            }

            recd.Clear();

            if (data.Length == 0)
            {
                return(null);
            }

            try
            {
                byte[] old = data;
                data = RSCoder.Decode(data);
                if (old[0] == 255)
                {
                    MessageBox.Show("При обмене данными произошли ошибки");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Данные искажены слишком сильно для декодирования");
                data = null;
            }
            data = Decrypt(data, KeyTextBox.Text);
            return(data);
        }