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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Свой класс наследованный от QTcpSocket  (Прочитано 2310 раз)
a1ien
Гость
« : Июнь 08, 2012, 01:20 »

Есть такой код.
Код
C++ (Qt)
QTcpSocket *socket = proxyServer->nextPendingConnection();
connect(socket, SIGNAL(readyRead()), this, SLOT(processQuery()));
connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater()));
Создаю свой класс наследованный от QTcpSocke
Код
C++ (Qt)
class Http : public QTcpSocket
{
   Q_OBJECT
public:
   explicit Http(QObject *parent = 0);
signals:
 
public slots:
 
};
 
Переделываю первый код на.
Код
C++ (Qt)
Http *socket =new Http(proxyServer->nextPendingConnection());
connect(socket, SIGNAL(readyRead()), this, SLOT(processQuery()));
connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater()));
Теперь сигналы-слоты не работают. В общих чертах я представляю почему, но как сделать чтобы работало?))
Записан
IMPOMEZIA
Гость
« Ответ #1 : Июнь 08, 2012, 03:01 »

Нужно переопределить:
Код:
void QTcpServer::incomingConnection ( int socketDescriptor )
В нём создать ваш сокет Http и установить ему дескриптор с помощью
Код:
bool QTcpServer::setSocketDescriptor ( int socketDescriptor )

В вашем кода создаётся 2 QTcpSocket, 1 ваш и 1 от QTcpServer который передаётся ему в конструктор в качестве родителя.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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