Рекомендации по соглашениям о вызове функций при использовании сокетов

StackOverflow https://stackoverflow.com/questions/6328785

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Учебник:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top