Russian Qt Forum

Qt => Работа с сетью => Тема начата: Qtnewbie от Февраль 03, 2009, 18:25



Название: Обработка сигнала QTcpSocket::disconnected ()
Отправлено: Qtnewbie от Февраль 03, 2009, 18:25
Есть два приложения клиент и сервер, сделаны по аналогии из учебников по Qt.
Серверу необходимо знать, что клиент завершил передачу данных. Для этого клиент делает по окончании посылки данных:
Код:
Socket->disconnectFromHost();
В свою очередь на сервере был соответственно назначен слот для сигнала:
Код:
QTcpSocket *SocketClient = Server->nextPendingConnection();
connect(SocketClient, SIGNAL(disconnected()), SocketClient, SLOT(CloseClientConnection()));
Но не происходит вызова CloseClientConnection().
Объясните почему такое может происходить?
P.S. Данные читаются через QDataStream и точно были все прочитаны из потока.


Название: Re: Обработка сигнала QTcpSocket::disconnected ()
Отправлено: ритт от Февраль 03, 2009, 18:57
а разве у QTcpSocket есть слот "CloseClientConnection()"?!


Название: Re: Обработка сигнала QTcpSocket::disconnected ()
Отправлено: Rcus от Февраль 03, 2009, 19:01
Я тоже про это подумал, но может Server это потомок QTcpServer с переопределенным методом virtual QTcpSocket * nextPendingConnection ()
хотя конечно врядли :)


Название: Re: Обработка сигнала QTcpSocket::disconnected ()
Отправлено: ритт от Февраль 03, 2009, 19:15
та да, было бы шибко извратно...