Задать вопрос
@Sazoks

Нормально ли создавать несколько сокетов по одному дескриптору?

У меня есть несколько потоков. От каждого из них может прийти сообщение. Это сообщение необходимо разослать остальным клиентам через их сокеты.
Я сделал так: в пространстве, где хранятся сами потоки, я сохраняю их дескрипторы в специальный массив. Затем, когда от кого-то приходит сообщение, я вызываю метод рассылки этого сообщения другим сокетам, а именно создаю в цикле сокеты по этим самым дескрипторам, хранящимся в общем пространстве, и уже через этот сокет, созданный в этом потоке, пытаюсь отправить сообщение, но в итоге мне выдает ошибку:
QSocketNotifier: Multiple socket notifiers for same socket 972 and type Read
и программа падает... Выдает как раз на том месте, где я устанавливаю дескриптор.
Скажите, пожалуйста, в чем ошибка моих суждений?
При подключении клиента и выделении потока я так и делаю: беру следующее подключение, беру сокет и передаю его в объект, который затем moveToThread().
Но здесь, почему-то, не работает.
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Разработчик на C++: Профессия + специализация + нейросети
    12 месяцев
    Далее
  • Skillbox
    Разработчик на C++
    7 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы