Привязка сокета на PC с двумя адаптерами в Qt на Linux
От: Dimonira  
Дата: 06.05.19 13:19
Оценка:
Доброго дня!
Пишем софт на Qt (точнее, переписываем с си-шарпа), чтобы он работал и в Windows, и в Linux (AstraLinux).
Столкнулись с непонятным поведением кода, использующего сокеты, в Linux. В Windows всё работает отлично, но тот же код в Linux не работает.
Проблема, как выяснилось в привязке сокета к конкретному IP-адресу. У компьютера два (или более) сетевых интерфейса, поэтому в программе указывается локальный IP-адрес сетевого интерфейса, с которым надо работать.
Так вот, если в функции QUdpSocket.bind указать конкретный IP, то приёма UDP-пакетов нет, а если указать ANY, то приём есть. Как правильно привязать к конкретному IP?
qt bind socket
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.