Я пытаюсь создать два компонента, которые взаимодействуют через сокеты UDP.Компонент 1 находится в главном потоке, а компонент 2 - во вторичном.Несколько копий этого приложения могут быть запущены на одном компьютере одновременно, поэтому я не могу использовать фиксированные порты.Программу также нужно запускать как в Windows, так и в Linux.
Я пытался сделать это, привязав 2 QUdpSockets, указав порт в 0 (попросив Qt выбрать для меня свободный порт).Затем я передаю первый параметр QUdpSocket и параметры второго сокета компоненту 1, предоставляя все необходимое для отправки и получения.Что касается Компонента 2, я не думаю, что могу передать QUdpSocket через границу потока, поэтому я передаю только параметры и конструирую + связываю сокет во вторичном потоке.
Однако привязка сокета ввторичный поток не работает.Предположительно, потому что сокет в основном потоке уже связан с тем же портом.
Можно ли как-то решить эту проблему, зная оба порта до создания любого объекта?