LINUX.ORG.RU

Qt 5 QProcess интерактивная работа с SSH, Telnet, Ping

 , , ,


0

2

Всем привет, возникла у меня задача использовать в своей программе стандартные сетевые протоколы: SSH, Telnet, Ping.

Посмотрел в старых завалах своего кода - нашёл Qt - консоль для Telnet. Вот такая: https://yadi.sk/i/LLT8jyhhNPYWUg

В этой программе только Telnet over QTcpSocket. Но мне нужна такая-же программа, в которой будут ещё SSH, Ping, nslookup;

Конечно, можно всё это закодить на уровне сокетов, но я очень надеюсь сделать это через QProcess. Есть-ли у кого примеры такого готового кода?

QProcess это уже QIODevice, с ним можно делать всё(не совсем но интерфейс тот же) тоже что и с сокетом. Из подводных камней - надо обязательно проверить прототип под виндой, т.к. х3 как оно в культях реализованно, но асинхронный ввод вывод для пайпов под виндой есть не самая проработанная в 2021ом технология.

Однако, постановка у тебя мутная, например непонятно тебе нужна именно реализация ssh на Qt или возможность вызвать бинарник ssh из Qt. Это две сильно разные задачи по-уровню сложности, если вторую реально реализовать с нуля за пару часов, то первая потребует либо поиска уже готовой библиотеки и её привязки к решению либо реализации протокола с нуля, что уже может и недельку занять и две, и более в зависимости от многих факторов. Telnet это очень частный случай, т.к. очень простой концептуально протокол, хотя, почти уверен в твоей реализации тоже найдётся пара-тройка проблем.

Готовый код в разделе Job.

Выкладывать код на гуяндодисках моветон, тем более тема не настолько интересная, чтобы заморачиваться для перехода по ссылке даже открытием приватного окна. Есть гитхабы/гитлабы например.

pon4ik ★★★★★ ()
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от Silerus

Забавно, но сложность работы с 3RD библиотеками конечно выше, плюс с каждой отдельной библиотекой нужно индивидуально читать документацию и разбираться.

Сложность работы через командную строку по идее для всех программ примерно одинаковая.

Забавно, но я похоже оставлю свою самодельную консольку из скриншота в верхнем сообщении. ЛОЛ :)

pup_kin ()
Последнее исправление: pup_kin (всего исправлений: 1)