Название: QUdpSocket не принимает пакеты Отправлено: CTAJIEBAP от Февраль 25, 2014, 13:13 Не могу прочитать пакет UDP. Ситуация вот какая: есть устройство которое посылает UDP пакеты на адреса 20.255.255.255. WireShark видит эти пакеты, но программой написанной на QT я не могу получить пакет. Получаю пакет так:
Код: connect(socket, SIGNAL(readyRead()), this, SLOT(listPort())); Адрес компьютера на котором работает программа написанная на QT 20.0.0.1 (а так же 192.168.1.10). Если, например, послать UDP пакет на адрес 20.0.0.1 то покет читается программой написанной на QT, а на 20.255.255.255 не читается. В чем может быть причина? Название: Re: QUdpSocket не принимает пакеты Отправлено: Bepec от Февраль 25, 2014, 13:39 Делайте так
Код: socket_.bind(8202); Название: Re: QUdpSocket не принимает пакеты Отправлено: Serr500 от Февраль 25, 2014, 15:29 http://qt-project.org/doc/qt-5.0/qtnetwork/broadcastreceiver-receiver-cpp.html (http://qt-project.org/doc/qt-5.0/qtnetwork/broadcastreceiver-receiver-cpp.html)
Название: Re: QUdpSocket не принимает пакеты Отправлено: ti0 от Июль 29, 2014, 13:04 Делал по примеру broadcast client/server из Qt. Все работает, если client и server находятся на одном компьютере.
Соответственно, как сделать, что бы клиент принимал пакеты, если сервер находится на другом компьютере? Ни одного примера не нашел. На данном этапе, код выглядит так: Сервер (ip 192.168.1.105): Код: udpSocket->writeDatagram(array.data(), array.size(), Код: udpSocket->bind(QHostAddress("192.168.1.105"), 45454, QUdpSocket::ShareAddress); Код: udpSocket->readDatagram(datagram.data(), datagram.size()); |