Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/22: Рейтинг темы: голосов - 22, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 249

Асинхронный RPC

28.05.2013, 20:30. Показов 4724. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать простейший RPC. Использование стандартный не позволяет религия
На стороне сервера идет обработка входящих команд, а так же отправка собственных событий.
Вся обработка - вызов обычных синхронных методов.

На стороне клиента создаются N потоков обработки. Каждый поток имеет уникальный идентификатор.
С ним он и отправляет запрос. Сервер ему отвечает с данным идентификатором.

Но сложность заключается в том, что сервер может не зависимо от времени посылать
собственные события с идентификатором созданного объекта обработки на стороне клиента.

Так вот и возникает вопрос, как на стороне клиента из приходящего замеса понять, что это ответ на посланную
команду. Нужно как-то дождаться ответа.

Для ожидания нужного события на ум приходит лишь ожидание на блокирующейся очереди.
То есть клиент посылает запрос и ждет, когда в очереди появится ответ с нужным ID.

Тут и возникаю вопросы:
1. Обработку сетевого взаимодействия лучше делать в отдельном потоке ?
2. Как ожидать событие очереди ? Вычитывать и выбрасывать неподходящее ? Но тогда потеря событий...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2013, 20:30
Ответы с готовыми решениями:

QString, std::string, curl и json-rpc
Добрый день. Возникла проблема следующего характера: Необходимо отправить на хост строку в формате json-rpc 2.0 Для генерации...

Поиск готового Remote Procedure Call (RPC) для Qt
Ребят, может кто - то встречал готовый нормальный фреймворк для Remote Procedure Call для QObject объектов? Ну что бы объекты Qt со всей...

Асинхронный QIODevice
Сделал обертку на основе QIODevice для работы с устройством. Работа реализована синхронно. Для этого были переопределены следующие...

21
 Аватар для solar_wind
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
29.05.2013, 11:39
Студворк — интернет-сервис помощи студентам
Dmitriy_M, Ну тут конечно желательно вести список используемых в данный момент чисел, что бы не дай бог не было совпадений. Но это в любом случае пример, как можно организовать. Хэш тоже подойдет, главное генерировать его так, что бы не совпал, а то хрен его знает что он будет отправлять, может одновременно и идентичные данные.

Добавлено через 8 минут
xbarmaglot, Тебе стоит начать изучение сокетов с более простых задач.... Тогда сложные пойдут значительно проще. Когда поймешь работу асинхронных механизмов, работу со структурами данных и классами, тогда решение данной задачи будет для тебя очевидно.
1
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
29.05.2013, 22:27
QxtRPCPeer
QxtRPCService
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2013, 22:27

Подскажите асинхронный модуль на базе QSql для чтения\записи в БД
Здравствуйте форумчане. Подскажите асинхронный модуль на базе QSql для чтения\записи в БД и получения уведомлений при изменении данных...

RPC в RPC и очередь выполнения
Крч... вот код: void OnConnectedToServer() { NetView.RPC("SendData", RPCMode.All, Convert.ToInt32(Network.player.ToString()),...

настройки RPC
Я начинающий сетевой администратор и программист. Никак не могу разобраться с RPC в Windows XP. Простейшие программы на Delphi с...

Имперсонация и RPC
Доброго времени суток. Помогите, пожалуйста, разобраться в коде. Мне очень повезло заполучить его от знакомых знакомых знакомых, но,...

RPC in Windows
Подскажите, что и ка нужно установить, чтобы работать с rpc под windows желательно с студией 2012.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru