UDP 経由でクライアント間通信を行おうとしています。私はそれをするために使用QUdpSocket
しています。
最初のクライアントの IP は 127.0.0.2 で、2 番目のクライアントの IP は 127.0.0.3 です。
私の最初のクライアントでは、データを送信したいので、これを行っています:
socket = new QUdpSocket(this);
socket->bind(QHostAddress("127.0.0.2"), (quint16)actual_port);
...
Data = QByteArray::fromRawData((const char *)stockR.data, crypt_packet.size_struct);
socket->writeDatagram(Data, QHostAddress("127.0.0.3"), (quint16)port_other);
私の2番目のクライアントでは、これがあります:
socket = new QUdpSocket(this);
socket->bind(QHostAddress("127.0.0.3"), (quint16)port_second);
...
QByteArray buffer;
buffer.resize(socket->pendingDatagramSize());
QHostAddress sender;
quint16 senderPort;
socket->readDatagram(buffer.data(), buffer.size(), &sender, &senderPort);
しかし、 からデータを受信できませreadDatagram()
ん。理由がわかりません。
私は両側ですべての機能を実行します。つまり、両方のクライアントで読み取りと書き込みを行います (VoIP 通話を行うためです)。
誰かが私の間違いを知っていますか?