Ich würde gerne von meinem Client Daten von einem Server empfangen. Der Server verschickt regelmäßig XML Text(zb. Server Zeit). Wenn ich mich als Client verbinde, und zb ALL schicke, dann sendet er unterschiedlich viele Informationen in unterschiedlichen Größen.
Wenn ich in meinem Client eine Verbindung mit dem Server erstelle und ALL schreibe, dann bekomme ich den ersten Datensatz.
Code: Alles auswählen
socket->connectToHost(Server, Port);
if(socket->waitForConnected(3000))
{
qDebug() << "Connected!";
socket->write("<all/>");
socket->waitForBytesWritten(1000);
socket->waitForReadyRead(3000);
qDebug() << "Reading: " << socket->bytesAvailable();
qDebug() << socket->readAll();
socket->close();
return "Connected";
}
Code: Alles auswählen
connect(socket, SIGNAL(connected()),this, SLOT(connected()));
connect(socket, SIGNAL(disconnected()),this, SLOT(disconnected()));
connect(socket, SIGNAL(bytesWritten(qint64)),this, SLOT(bytesWritten(qint64)));
connect(socket, SIGNAL(readyRead()),this, SLOT(readyRead()));
....
void SocketTest::connected()
{
qDebug() << "connected...slot";
// socket->write("<all/>");
}
void SocketTest::readyRead()
{
qDebug() << "Reading: " << socket->bytesAvailable();
qDebug() << socket->readAll();
}
Liebe Grüße,
Jürgen.