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.
Port abhören
Re: Port abhören
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?
es handelt sich bei den Paketen um ein UDP-Format.
Hast du vielleicht ein paar Codefetzen oder ein Beispiel wie man den QTcpServer verwendet?
Re: Port abhören
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); } }
Re: Port abhören
Viel Dank für den Hinweis,
ich kann die XML-Files so jetzt vom Port abhören und mir ausgeben lassen
ich kann die XML-Files so jetzt vom Port abhören und mir ausgeben lassen
- Dateianhänge
-
- Code2.png (20.89 KiB) 4872 mal betrachtet
-
- Code1.png (9.55 KiB) 4872 mal betrachtet
Re: Port abhören
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.
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.