Как сделать корректный вывод работы команды SSH?

Рейтинг: 0Ответов: 0Опубликовано: 11.05.2023

Работаю с такой штукой как ОВЕН ПЛК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

Заранее спасибо.

Ответы

Ответов пока нет.