システムにコマンドを送信し、システムからの応答を読み取ります。私のマシンはクライアントです。パケットをサーバーに正常に書き込みましたが、サーバーからの応答を受信できません。なぜこれが起こるのか疑問に思っています。私のコードを見てください: (サーバーアドレスは 192.168.100.143 で、ポートは 11000 です)
void UDP::UDPInit(int port)
{
socketPort = port;
udpsocket = new QUdpSocket(this);
}
void UDP::sendCommand(QByteArray data)
{
QHostAddress *host = new QHostAddress("192.168.100.143");
quint16 port = 11000;
if(udpsocket->writeDatagram(data.data(),QHostAddress(ip),socketPort)==-1)
emit clientLogMessage(QString("UDPCLIENT : Write problem !"));
else
udpsocket->flush();
while (!udpsocket->hasPendingDatagrams()) {
QByteArray datagram;
datagram.resize(udpsocket->pendingDatagramSize());
qDebug() << udpsocket->pendingDatagramSize();
udpsocket->readDatagram(datagram.data(), datagram.size(), host, &port);
emit dataReceived(datagram);
}
}