Port abhören

Alles rund um die Programmierung mit Qt
Antworten
dschr
Beiträge: 4
Registriert: 5. Juni 2013 07:37

Port abhören

Beitrag von dschr »

Hallo Zusammen,

ich bin neu hier im Forum und ein absoluter Qt Anfänger.
Ich habe folgendes Problem. Im Rahmen meiner Studienarbeit sendet mir ein Roboter seine X,Y,Z-Positionen im XML-Format an einen Port meines extern angeschlossenen PC´s.
Mit der vom Hersteller mitgelieferten TestServer.exe kann ich diesen Port auch abhören und bekomme diese Daten auch angezeigt.
Nun möchte ich aber mithilfe von Qt in meinem C++ Programm diesen Port abhören und die übertragenen Werte in Arrays ablegen um mit den jeweiligen Änderungen von X,Y,Z die zurückgelegte Strecke berechnen. Die Berechnung der Strecke hab ich auch schon mit fiktiven Werten hinbekommen, ich habe nur keine Ahnung wie ich das Abhören des Ports programmieren soll?

Über Tipps oder Ideen wie ich das Problem umsetzen könnte wäre ich sehr dankbar.
odt
Beiträge: 128
Registriert: 12. August 2010 11:49
Kontaktdaten:

Re: Port abhören

Beitrag von odt »

Port tönt nach TCP/IP tönt nach QTcpServer
ODT Informatik GmbH, Reto Tschofenig
dschr
Beiträge: 4
Registriert: 5. Juni 2013 07:37

Re: Port abhören

Beitrag von dschr »

Hallo odt,
es handelt sich bei den Paketen um ein UDP-Format.
Hast du vielleicht ein paar Codefetzen oder ein Beispiel wie man den QTcpServer verwendet?
veeman
Beiträge: 280
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Port abhören

Beitrag von veeman »

Schau mal in die Docs: QUdpSocket

Code: Alles auswählen

void Server::initSocket()
{
    udpSocket = new QUdpSocket(this);
    udpSocket->bind(QHostAddress::LocalHost, 7755);

    connect(udpSocket, SIGNAL(readyRead()),
            this, SLOT(readPendingDatagrams()));
}

void Server::readPendingDatagrams()
{
    while (udpSocket->hasPendingDatagrams()) {
        QByteArray datagram;
        datagram.resize(udpSocket->pendingDatagramSize());
        QHostAddress sender;
        quint16 senderPort;

        udpSocket->readDatagram(datagram.data(), datagram.size(),
                                &sender, &senderPort);

        processTheDatagram(datagram);
    }
}
dschr
Beiträge: 4
Registriert: 5. Juni 2013 07:37

Re: Port abhören

Beitrag von dschr »

Viel Dank für den Hinweis,
ich kann die XML-Files so jetzt vom Port abhören und mir ausgeben lassen
Dateianhänge
Code2.png
Code2.png (20.89 KiB) 4870 mal betrachtet
Code1.png
Code1.png (9.55 KiB) 4870 mal betrachtet
dschr
Beiträge: 4
Registriert: 5. Juni 2013 07:37

Re: Port abhören

Beitrag von dschr »

Hallo nochmal,

gibt es in QT auch eine Funktion mit der man die Double-Werte (X,Y,Z,A,B,C) aus dieser XML erfassen und in ein Array abspeichern kann?

Danke schonmal im voraus.
Antworten