Russian Qt Forum

Qt => Работа с сетью => Тема начата: maria123252 от Сентябрь 08, 2017, 15:41



Название: Отправка последовательных сообщений - C++ Qt
Отправлено: maria123252 от Сентябрь 08, 2017, 15:41
Есть клиент, при подключении к серверу в самом начале необходимо отправить около 10 последовательных сообщений, и получить на них определенные ответы, в дальнейшем будут приходить ответы на конкретные запросы, которые получается обрабатывать. Подскажите, пожалуйста, как реализовать последовательную отправку сообщений.


Название: Re: Отправка последовательных сообщений - C++ Qt
Отправлено: qate от Сентябрь 08, 2017, 20:55
Для последовательной отправки сообщений нужно написать их другом под другом, а между ними вставить паузу, если лень писать их размер вначале


Название: Re: Отправка последовательных сообщений - C++ Qt
Отправлено: Bepec от Сентябрь 09, 2017, 02:19
Нужен менеджер отправки, в жестко забитом в коде или гибком варианте, как уже вам заблагорассудится.


Название: Re: Отправка последовательных сообщений - C++ Qt
Отправлено: maria123252 от Сентябрь 11, 2017, 10:03
Нужен менеджер отправки, в жестко забитом в коде или гибком варианте, как уже вам заблагорассудится.
Пример реализации можно?


Название: Re: Отправка последовательных сообщений - C++ Qt
Отправлено: Bepec от Сентябрь 11, 2017, 14:38
2 контейнера, или один для сообщений (write/read).
В первый забиваем write запросы в порядке их очередности.
Как только запрос отправляется в сеть/устройство, он удаляется из контейнера.
Ждём прихода read сообщения от устройства, при приёме обрабатываем и посылаем верхний из write контейнера.

Таким образом мы создали последовательную очередь. Но она очень упрощенная. И при окончании команд write/read, а так же при отсутствии ответа она обрывается. Но дальше уже идёт специфика вашего устройства.