![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Есть клиент (наслденик QTcpSocket) , в нем реализованы функции запроса к серверу :
Сервер от QTcpServer :
И клиентский поток от QThread :
Первый раз пишу клиент/сервер. Но почему-то у меня не запускается поток, т.е. получается что сокет не генирирует сигнал readyRead? А почему, ведь данные приходят от клиента..нет ? Сообщение отредактировал Andrewshkovskii - 15.5.2010, 19:34 |
|
|
![]() |
Andrewshkovskii |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Т.е. что бы обработать readyRead в потоке (проще говоря - считать данные с сокета) необходимо создать этот сокет во время работы потока + что бы данные считывались не самим экземпляром потока, а неким объектом по сигналу readyRead от сокета??
================ А если соеденить readyRead сокета с слотом потока?Тоже не будет взаимодействовать, как я понимаю? Сообщение отредактировал Andrewshkovskii - 15.5.2010, 19:39 |
|
|
kibsoft |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Т.е. что бы обработать readyRead в потоке (проще говоря - считать данные с сокета) необходимо создать этот сокет во время работы потока + что бы данные считывались не самим экземпляром потока, а неким объектом по сигналу readyRead от сокета?? Да, т.к. экземпляр потока создан в другом потоке, поэтому нельзя делать connect с DirectConnection, т.е. чтобы слот вызывался сразу после испускания сиглнала. По-моему можно QueuedConnection, но я не пробовал так. Signals and Slots Across Threads - тут в ассистенте описание. P.S. Qt::QueuedConnection - при генерации сигнал помещается в очередь обработки событий. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.4.2025, 6:07 |