Telnet verbindung mit einem nicht QT Server
Verfasst: 10. März 2010 15:07
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.
Gruß,
Maik
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);Maik