Здравствуйте!
Работаю с такой штукой как ОВЕН ПЛК200, и смысл заключается в следующем:
Через форму подключаюсь по SSH, потом задаю команду и ответ вывожу на listbox, но результат мало того, что выводится одной строкой, так еще и выглядит как-то странно, примерно вот так:
Помимо этого, результат выводится через раз, и только в режиме дебага, когда на каждую строчку поставлю точку останова, поэтому наверное надо это решать в помощью Thread.Sleep(), или можно как-то другими изменениями кода это поправить?
Вот код, который выполняет отправку команды и получение результата:
private void CommandSend_Click(object sender, EventArgs e)
{
StringBuilder ReadStream(StreamReader reader)
{
StringBuilder result = new StringBuilder();
string line;
while ((line = reader.ReadLine()) != null)
{
result.AppendLine(line);
}
return result;
}
if (SSHclient.IsConnected)
{
OVEN_info.Items.Clear();
StringBuilder answer = null;
SshCommand sc = SSHclient.CreateCommand(txtCommand.Text);
ShellStream stream = SSHclient.CreateShellStream("stream", 0, 0, 0, 0, 1024);
var reader = new StreamReader(stream);
var writer = new StreamWriter(stream);
writer.WriteLine(sc);
answer = ReadStream(reader);
OVEN_info.Items.Add(answer);
}
}
Библиотека, с которой работаю - SSH.NET
Заранее спасибо.