Здравствуйте!
Работаю с SSH, надо через него реализовать подключение, возможность производить отключение, отправку команд и вывод результата команд на форму, из всего этого у меня только подключение получилось.
Я объявил метод InitSSH:
public void InitSSH()
{
int port = Int32.Parse(txtPort.Text);
SshClient SSHclient = new SshClient(txtIP.Text, port, txtLogin.Text, txtPassword.Text);
}
Потом реализовал подключение:
private void btnConnect_Click(object sender, EventArgs e)
{
if (txtIP.Text == "" || txtPort.Text == "" || txtLogin.Text == "" || txtPassword.Text == "")
{
MessageBox.Show("Заполните все поля!","Ошибка",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
InitSSH();
TimerPoll.Start();
lblStatus.Text = "Подключён";
lblStatus.ForeColor = Color.Green;
btnConnect.Enabled = false;
btnDisconnect.Enabled = true;
}
}
А когда стал реализовывать отключение соединения по нажатию кнопки возникли проблемы:
1. У меня в форме используется tabpage, и из-за этого у меня стоит условие на сначала на выбранную вкладку, а потом на наличие установленного соединения.
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e, object client)
{
if (tabControl1.SelectedIndex == 0)
{
if (SSHclient.Connected)
{
SSHclient = null;
TimerPoll.Stop();
lblStatus.Text = "Не подключён";
lblStatusPO.Text = "Не подключён";
OVEN_info.Items.Clear();
}
}
В обоих случаях у меня ошибка "Имя "SSHclient" не существует в текущем контексте"
2. Посылать команды насколько я понял можно с помощью "RunCommand" и саму команду через textbox задаю, а вот как обрабатывать результат? Его парсить надо или в переменную завернуть в listbox вывести? я именно сам механизм не понимаю, как это должно работать.
Заранее спасибо.