ich soll ein Programm schreiben, das über UPD Daten an einen anderen PC sendet, der diese dann beantwortet. Die Anzahl der eingehenden Antworten und gesendeten Pakete soll mit einer Progressbar dargestellt werden. Das Programm funktioniert auf einem einzigen Rechner problemlos. Sobald ich das Programm nutze, um die Verbindung zwischen zwei Rechnern zu testen scheint es, als ob es zwischen beiden PCs keine Verbindung geben würde (was so eben nicht der Fall ist).
Woran könnte das liegen?
Hier ein paar Code-Schnipsel:
Code: Alles auswählen
// Verbindung zum anderen PC herstellen:
udpSocketRead->bind(QHostAddress(txtIP->text()), Port);
/*
...
*/
// Pakete senden und auf Empfang warten:
while(tstart) {
rec = 0;
for(i = 0; i < 4; i++) {
if(tstart) {
QByteArray datagram = "Test" + QByteArray::number(i);
udpSocketSend->writeDatagram(datagram.data(), datagram.size(), QHostAddress(txtIP->text()), Port);
while(...) { // Teste auf Timeout
qApp->processEvents();
if(udpSocketRead->hasPendingDatagrams()) {
QByteArray datagram2;
datagram2.resize(udpSocketRead->pendingDatagramSize());
udpSocketRead->readDatagram(datagram2.data(), datagram2.size());
if(datagram2 == datagram) {
rec++;
break;
}
}
}
}
}
}Stefan