Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по сигналам/слотам
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
mezmay
Ситуация такая: есть два объекта в одном потоке, работающие с одним сокетом. Первый объект - объект авторизации - принимает от сервера команду авторизации, после чего я делаю дисконнект его слотов от сигналов сокета. Сразу после этого делаю коннект сигналов сокета к слотам второго, принимающего все остальные команды, объекта. Проблема: когда я принял и вычитал команду авторизации и отсоединил слоты:
disconnect(m_pTcpSocket, SIGNAL(readyRead()),
        this, SLOT(onReceive())); //и т.д.

вызов слота onReceive() все равно идет далее по стеку функций, то есть данные, которые предназначаются второго для объекта, попадают в слот первого. Что можно сделать? Хотелось бы мгновенно отключать слоты одного объекта и подключать слоты второго, чтобы команды принимать там где надо...
RazrFalcon
в onReceive принимать sender() и смотреть чей он
Litkevich Yuriy
Цитата(RazrFalcon @ 11.12.2012, 3:14) *
в onReceive принимать sender() и смотреть чей он
+1, слот выступит в роли коммутатора
Для облегчения коммутации можно задать objectName, при создании объекта
mezmay
sender там один и тот же - сокет. Т.к. эти два объекта в одном потоке, то решил не париться и принимать все сигнал только в одном объекте и вызывать, когда нужно, методы второго
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.