QUdpSocket::bind() занимает много времени при наличии виртуальных сетевых адаптеров

Я использую QUdpSocket для отправки запросов на обнаружение для IP-камер, совместимых с Onvif.

QUdpSocket* pSocket = new QUdpSocket(this);
QObject::connect(pSocket, SIGNAL(readyRead()), this, SLOT(dgAvailable()));
pSocket->bind(pSocket->localPort());
pSocket->writeDatagram(probeData, QHostAddress("239.255.255.250"), 3702);

У меня установлены VirtualBox и VMware, и поэтому у меня есть несколько виртуальных сетевых адаптеров. Когда эти виртуальные сетевые адаптеры включены, для вызова bind() может потребоваться более 30 секунд. Если я отключаю виртуальные адаптеры, вызов bind() возвращается немедленно. Я также попытался привязаться к определенному локальному IP-адресу, но это не имеет никакого значения.

Это правильный способ отправки / получения запросов на обнаружение? Это проблема с Qt?

РЕДАКТИРОВАТЬ: Кажется, это занимает много времени при первом вызове bind() после запуска приложения.

0 ответов

Другие вопросы по тегам