Seite 1 von 1

Telnet verbindung mit einem nicht QT Server

Verfasst: 10. März 2010 15:07
von Vadhagh
Hi,

ich habe die Aufgabe ein GUI zu erstellen das via Telnet auf einen Server zugreift der seinerseits ein Textzeilen basiertes UI hat. Damit die Benutzerfreundlichkeit aber erhöht wird soll ich nun einen Clienten mit einem GUI erstellen.
Ich wollte mit einem MainWindow arbeiten und hier mit einem Spliter auf der einen Seite die Darstellung des Servers sichtbar machen ( das Textzeilen UI) und auf der anderen die Eingabe mit dem GUI ermöglichen.
Mein Problem ist das ich den Datenstrom nicht sichbar machen kann (ausgeben kann). Die Verbindung wird hergestellt, das sehe ich an dem Verhalten wie lage es dauert bis ich vom Server gekickt werde.

Code: Alles auswählen

 connect(ui->actionVerbinden,SIGNAL(triggered()),this,SLOT(connectToServer()));
    //connect(&tcpSocket,SIGNAL(connected()),this,SLOT(sendRequest()));
    //connect(&tcpSocket, SIGNAL(destroyed()),this,SLOT(connectionClosedServer()));
    connect(&tcpSocket, SIGNAL(readyRead()),this,SLOT(updateTableWidget()));
    connect(&tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(error()));
}
void MainWindow::connectToServer(){
    tcpSocket.connectToHost("172.29.161.170",23);
    connect(&tcpSocket,SIGNAL(connected()),this,SLOT(connectionDone()));

}
void MainWindow::updateTableWidget(){
    QDataStream in(&tcpSocket) ;
    in.setVersion(QDataStream::Qt_4_6);

    if (nextBlockSize == 0) {
       if (tcpSocket.bytesAvailable() <  sizeof(quint16))
          return;
       in >> nextBlockSize;

    }

    if (tcpSocket.bytesAvailable() < nextBlockSize)
       return;
    QString incoming;
    in>> incoming;
    ui->label->setText(incoming);
Gruß,
Maik

Verfasst: 10. März 2010 15:43
von Christian81
QDataStream ist definitiv nicht das was Du suchst - oder kann dein Gegenüber QDataStream verarbeiten?

Verfasst: 11. März 2010 08:08
von 101

Verfasst: 11. März 2010 09:07
von franzf
101 hat geschrieben:http://doc.trolltech.com/solutions/3/qt ... elnet.html

Dürfte dich interessieren! 8)
Dürfte ihn nicht interessieren :P
Das ist nämlich Qt3, und wenn er nicht hinterm Mond wohnt oder für ein total armes/konservatives Unternehmen arbeitet, hat er Qt4.

http://qt.nokia.com/products/appdev/add ... /qttelnet/
Das wäre das was ihn interessiert ;)

Verfasst: 11. März 2010 09:10
von 101
Sorry, auf die Version hatte ich bei dem Link gar nicht geschaut. Hatte nur nach QtTelnet gegoogelt und das war der erste Link.

Verfasst: 15. März 2010 14:07
von Vadhagh
Danke für dieAntworten.
Sry das ich mich erst jetzt melde aber ich werde mich da mal reinfuchsen. Danke für den Tip.

Gruß,
Maik

Verfasst: 30. März 2010 14:37
von Vadhagh
Also nachdem ich das Plugin eingearbeitet habe funtioniert die Verbundungsaufnahme mit dem Server. Ich kann ihm auch befehle Senden, nur habe ich das Problem ,dass ich mit der Terminal Emulation nicht klar komme. Es handelt sich um eine VT-220, VT-320 kompatible Emulation auf dem Server.
Ich müsste ihm Steuerzeichen senden können um einwandfrei mit ihm Komunieziern zu können. Nur komme ich genau dort nicht weiter. Ich weis nicht wie ich ihm z.B. [^M] als Steuerzeichen für [ENTER] senden kann.
Hat einer schonmal mit dem Telnet Packet gearbeitet und kann mir da nen Tip geben? Den an den String anhängen und mitsenden geht nicht, da wird das Steuerzeichen nicht erkannt.

Gruß,
Maik