Как открыть telnet-соединение и запустить несколько команд в С#
Это просто? Есть ли у кого-нибудь хорошие примеры? Все мои поисковые запросы google возвращают элементы о том, как сделать telnet-клиентов в dotNet, но это излишне для меня. Я пытаюсь сделать это на С#.
Для простых задач (таких как подключение к специализированному аппаратным устройствам с telnet-подобным интерфейсом) подключение через сокет и просто отправка и получение текстовых команд могут быть достаточно.
Если вы хотите подключиться к реальному серверу telnet, вам может потребоваться обработать escape-последовательности telnet, эмуляцию лицевых терминалов, обработать интерактивные команды и т.д. Используя некоторый уже протестированный код, например Минималистская библиотека Telnet из CodeProject (бесплатно) или некоторая коммерческая библиотека Telnet/Terminal Emulator (такая как Rebex Telnet) может сэкономить вам некоторое время.
Следующий код (взятый из этот URL) показывает, как его использовать:
// create the client
Telnet client = new Telnet("servername");
// start the Shell to send commands and read responses
Shell shell = client.StartShell();
// set the prompt of the remote server shell first
shell.Prompt = "servername# ";
// read a welcome message
string welcome = shell.ReadAll();
// display welcome message
Console.WriteLine(welcome);
// send the 'df' command
shell.SendCommand("df");
// read all response, effectively waiting for the command to end
string response = shell.ReadAll();
// display the output
Console.WriteLine("Disk usage info:");
Console.WriteLine(response);
// close the shell
shell.Close();