Как правильно читать данные с многопоточным сервером? |
Здравствуйте, гость ( Вход | Регистрация )
Как правильно читать данные с многопоточным сервером? |
Andrewshkovskii |
15.5.2010, 18:50
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Есть клиент (наслденик QTcpSocket) , в нем реализованы функции запроса к серверу :
Сервер от QTcpServer :
И клиентский поток от QThread :
Первый раз пишу клиент/сервер. Но почему-то у меня не запускается поток, т.е. получается что сокет не генирирует сигнал readyRead? А почему, ведь данные приходят от клиента..нет ? Сообщение отредактировал Andrewshkovskii - 15.5.2010, 19:34 |
|
|
Andrewshkovskii |
16.5.2010, 21:51
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Ну с forever на получение полных данных я понял.но у меня другая проблема. Что бы запустить цикл обработки событий в функции run() потока я использую
exec() :
Если не запускать - брокер не поймает сигнал , и ничего не произойдет. И вот ещё насчет брокера запросов.. :
Я получаю на такие данные
вот такой отладочный вывод : Цитата reading client true 7 total bytes 344832 before read request is : И поток не завершается без exit() , т.е. поток остается в незавершенном режиме и не удаляется. Из брокера я не могу вызвать ни exec() ни exit, разве что явно указать parent'a ему, и через указатель на родителя вызывать. Но основная проблема в том, что я не могу никак написать код, который бы читал/принимал данные корректно. |
|
|
Текстовая версия | Сейчас: 22.12.2024, 10:29 |