Russian Qt Forum
Ноябрь 22, 2024, 01:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [решено] Qt3 QSocket и QServerSocket привязать к конкретной сетевой карте  (Прочитано 12190 раз)
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« : Февраль 16, 2023, 07:40 »

Есть две сетевые карты. Создаваемый QSocket при подключении к серверу для своей идентификации использует всегда первую карту. Как можно заставить его выступать от имени второй?
У двух QServerSocket явно при создании указываю разные карты (IP адреса). Однако занимать один номер порта не получается. Номера портов для разных карт это одни и те же ячейки памяти?
Может кто то помочь?
« Последнее редактирование: Февраль 21, 2023, 20:36 от Примерный ученик » Записан

Как мало времени и как много нужно узнать
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #1 : Февраль 16, 2023, 13:53 »

Проверил под линукс. QServerSocket работает нормально, разные IP адреса получают один и тот же номер порта и работают параллельно. А вот как привязать к IP адресу QSocket так и не понял. Неужели никто с такой проблемой не встречался?
Записан

Как мало времени и как много нужно узнать
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #2 : Февраль 16, 2023, 19:15 »

Qt3? Вы точно не ошиблись?
Записан

Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #3 : Февраль 16, 2023, 21:55 »

Qt3? Вы точно не ошиблись?
нет, не ошибся. Его поддержку никто не отменил, однако.
Записан

Как мало времени и как много нужно узнать
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #4 : Февраль 16, 2023, 22:07 »

нет, не ошибся. Его поддержку никто не отменил, однако.
Не отменял. Но, в чистом виде оно даже в военке уже не используется. Учитывая, что уже Qt6 достаточно стабилен.
Сомнительно, что кто-то здесь поможет.
Записан

Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #5 : Февраль 17, 2023, 08:52 »

 ну а вдруг...
Записан

Как мало времени и как много нужно узнать
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #6 : Февраль 21, 2023, 20:31 »

В общем, поковырялся в исходниках QSocket, нашел место создания сокета и добавил в него bind на выбранную карту. QSocketBind принимает номер IP и номер порта, куда садиться и заработало.
Записан

Как мало времени и как много нужно узнать
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #7 : Февраль 21, 2023, 20:33 »

И под Виндой все работает
Записан

Как мало времени и как много нужно узнать
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #8 : Февраль 21, 2023, 20:56 »

Сурово! Улыбающийся Будет весело при передаче исходников программы кому-нибудь. В стиле: "у меня работало, проблема на твоей стороне" Веселый Если только кусок Qt с собой таскать...
Записан

Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #9 : Март 17, 2023, 19:02 »

Всего то доработанный класс, прилагается с пояснениями и комментариями... С "чистым" QT3.3.8 взаимодействует как обычно. Не вижу криминала
Записан

Как мало времени и как много нужно узнать
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #10 : Март 17, 2023, 21:16 »

Всего то доработанный класс, прилагается с пояснениями и комментариями... С "чистым" QT3.3.8 взаимодействует как обычно. Не вижу криминала
Чистого криминала и не будет. Могут быть проблемы. Улыбающийся
Допустим, на машине заказчика тот же linux (в виде МСВС, как пример). И тот же мандатный доступ не даст вам править исходники Qt3 на машине заказчика. И начнётся веселуха в виде подмены класса в конкретном приложении. А в следующем заказчик забудет это сделать и начнётся великая переписка Веселый
Лично я бы в таком случае попробовал наследоваться от QSocket, поправить то, что нужно, а потом бы уже использовал свой новый класс.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.202 секунд. Запросов: 22.