Рекомендации по соглашениям о вызовах функций при использовании сокетов - PullRequest
0 голосов
/ 13 июня 2011

Я планирую использовать сокеты для вызова функций между клиентским 32-битным приложением и 64-битным приложением.

Какая была бы лучшая схема для вызова функций, передачи переменных и возврата параметров через интерфейс сокетов.У меня есть контроль над клиентским и серверным кодом, поэтому я могу реализовать все, что угодно.

Я думал, что пакет сокетов будет состоять из: - 1 слова: длина (количество символов) имени функции - строка: фактическое имя функции - 1 слово: длина (в байтах)из параметров функции - параметры функции

Пожалуйста, дайте мне знать, какие будут наиболее надежные и расширяемые подходы.Возможно, я смогу повторно использовать принципы, используемые в соглашениях о вызовах компиляторами, веб-службами или виртуальными машинами.

Заранее спасибо

1 Ответ

0 голосов
/ 13 июня 2011

Я предлагаю вам использовать протоколные буферы для сериализации:

http://code.google.com/apis/protocolbuffers/docs/reference/cpp/index.html

Учебник

http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html

Когда вы отправляете объект на другую сторону, начните с префикса длины (32-битного целого), который определяет, сколько байтов вы должны прочитать, чтобы получить полное сообщение protobuf. * ​​1011 *

...