Название: многопоточный TCP клиент Отправлено: Paul от Август 16, 2011, 15:41 Здравствуйте, коллеги. Сейчас занимаюсь разработкой клиент-серверных приложений под QT. Организация многопоточной работы сервера с клиентами (по incomingConnection), описанная в док-ах ясна и по-большому счёту работает, и для Сервера, с натяжкой, передачу данных можно организовать, как Slot, в QThread приёмника, который висит на ожидании readyRead. Но для клиента приём/передачу надо бы развести по разным потокам, т.к. одновременное выполнение этих операций для клиента - рядовое дело, но как в этом случае обойти проблему "отцов-детей", м.б. надо создать новый сокет ??? Пожалуйста поделитесь своим опытом, я в QT - чайник. :) С уважением Paul
Название: Re: многопоточный TCP клиент Отправлено: LisandreL от Август 16, 2011, 16:21 1) Сомневаюсь, что вы это на Quick Time напишете.
2) Что вы подразумеваете под проблемой отцов-детей? Вам просто асинхронная работа сокетов нужна? Так там есть сигнал readyRead() для чтения, а запись и так асинхронна, если не вызывать waitForBytesWritten. Название: Re: многопоточный TCP клиент Отправлено: Paul от Август 16, 2011, 17:00 Lisandrel, спасибо за внимание. ("отцы-дети" - это запрет использования одного сокета в разных потоках) Есть опаска потери входных сообщений при "большой" передаче (а может - нет ???), Paul
Название: Re: многопоточный TCP клиент Отправлено: merke от Август 16, 2011, 17:30 Ну если тебе нужна одновременная приемка-отправка, то делай сокеты IN-OUT. По одному сокету будешь слать на сервер запросы, а по второму сокету принимать. Хотя это не красиво...
Название: Re: многопоточный TCP клиент Отправлено: Paul от Август 16, 2011, 17:36 Спасибо, Саша
Название: Re: многопоточный TCP клиент Отправлено: Paul от Август 16, 2011, 17:56 Всем удачи, пока...
|