Название: Многопоточный сервер на Qt - передача сокетов между потоками Отправлено: qtkoder777 от Апрель 21, 2016, 00:47 Здравствуйте.
Возникла задача написать такой сервер: Сервер должен получить данные от клиентов, провести над ними некоторые вычисления и вернуть результат клиенту. В процессе вычислений могут поступать новые запросы. Пытаюсь сделать так: Ввёл структуру, в которой запоминаю сокет клиента, которому надо отослать результат работы с data_. Код и очередь QQueue этих структур, которая заполняется в основном потоке Вычисления крутятся в отдельном потоке наследнике QThread. Данные извлекаются из очереди, обрабатываются, и отправляются клиенту с помощью Код , если очередь пуста, крутится бесконечный цикл. Фактически, из потока вычислений данные НЕ ДОХОДЯТ до клиента, хотя write завершается без ошибки. В основном потоке данные по тому же сокету отправляются и доходят. Читал где то на другом форуме, что сокеты нельзя передавать между потоками. Так ли это? И как надо поступать? Название: Re: Многопоточный сервер на Qt - передача сокетов между потоками Отправлено: VozaMFC от Апрель 26, 2016, 15:29 В доках кьюти есть очень неплохие примеры по сокетам и потокам. А главное вам нужно разобраться с работой потока что бы потом реализовать задуманное на стороне сервера.
|