[QT] Server Antwortet manchmal nicht



  • Hi. Ich schreibe im Moment an einem Programm, welches an einen Server ein UDP Paket schickt um danach eine Antwort zu erhalten. Dies funktioniert auch, aber nur manchmal.

    void ETQW::serverRequest()
    {	
    	udpSocket = new QUdpSocket(this);
    	connect(udpSocket, SIGNAL(connected()), this, SLOT(sendGetInfo()));
    	connect(udpSocket, SIGNAL(readyRead()), this, SLOT(readServerinformations()));
    	connect(udpSocket, SIGNAL(error(QAbstractSocket::SocketError)),
    		this, SLOT(displayError(QAbstractSocket::SocketError)));
    	udpSocket->connectToHost(actualAddress, actualPort);
    }
    
    void ETQW::sendGetInfo()
    {
    	datagramOut.resize(10);
    	datagramOut = "\xFF\xFFgetInfo\x00";
    	if (udpSocket->isWritable()) {
    		udpSocket->write(datagramOut);
    	}
    }
    

    Bis hierhin funktionierts auch immer, aber ich erhalte meist kein readyRead() aber auch keinen error.

    void ETQW::readServerinformations()
    {
    	while (udpSocket->hasPendingDatagrams()) {
    		datagramIn.resize(udpSocket->pendingDatagramSize());
    		udpSocket->readDatagram(datagramIn.data(), datagramIn.size());
    	}
    	[usw...]
    }
    

    Kann mir vielleicht jemand sagen woran das liegt? Ich danke schonmal.


Anmelden zum Antworten