C++ (Qt)void MainWindow::on_pushButton_clicked(){ t= new QtTelnet(); currentMsg=""; connect(t, SIGNAL(message(const QString &)),this, SLOT(telnetMessage(const QString &))); t->connectToHost("****", 2323); waitmsg("login"); t->sendData("admin"); waitmsg("password"); t->sendData("admin"); waitmsg(">"); t->sendData("enable"); waitmsg("#"); t->sendData("show info"); msg=waitmsg(">"); if msg.... }void MainWindow::telnetMessage(const QString &msg){ ui->textEdit->append(stripCR(msg)); }QString MainWindow::stripCR(const QString &msg){ QString nmsg(msg); nmsg.remove('\r'); nmsg.remove(QRegExp("\033\\[[0-9;]*[A-Za-z]")); // Also remove terminal control codes return nmsg;}
C++ (Qt) waitmsg("password");
void MainWindow::telnetMessage(const QString &msg)
void MainWindow::telnetMessage(const QString &msg){ ui->textEdit->append(stripCR(msg)); switch(msg) { case "login": { t->sendData("admin"); } break; case "password": { t->sendData("admin"); } break; case ">": { t->sendData("enable"); } break; case "#": { t->sendData("show info"); } break; default: break; } }
C++ (Qt)void MainWindow::telnetMessage(const QString &msg){ ui->textEdit->append(stripCR(msg));currentMsg=msg; }
QMap<QString message, QString receive> mapCommand;
if (mapCommand.contains(msg)){ t->sendData(mapCommand[msg])}