Протокол общения клиент–серверной программы?

Есть две программы на С++: сервер и клиент. Им нужно обмениваться довольно простой текстовой информацией. Какие есть лучшие практики для реализации? Сейчас я просто передаю строчки, в которых первая цифра до точки является идентификатором сообщения, а дальше уже данные, которые разбираются в зависимости от типа сообщения.
  • Вопрос задан
  • 3290 просмотров
Решения вопроса 1
@Shizz
Выше уже отметили: JSON или XML. От себя могу добавить, что таки JSON в плане эффективности немного лучше будет (гораздо меньше избыточной служебной информации), но XML можно валидировать с помощью написанных для отдельных запросов схем. Есть еще BSON, который еще эффективнее, чем JSON, ну и, например, ProtocolBuffers (http://code.google.com/p/protobuf/). Выбор должен зависеть от специфики работы связки клиент-сервер.
Ну и желательно написать этакий фреймфорк для для запросов/ответов, так работать будет проще. Например, для запроса обязательными полями могут быть номер, время запроса, версия протокола и некоторый payload, который и будет меняться в зависимости от типа запроса.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@antivir
Я бы в первую очередь посмотрел в сторону XML-RPC.
Ответ написан
Комментировать
@fralik Автор вопроса
Всем спасибо за ответы. Как раз недавно узнал про ProtocolBuffers, так что, наверное, попробую с ним для начала.
Ответ написан
dutchakdev
@dutchakdev
Вставлю своих 19 копеек.
Я бы использовал JSON.
Ответ написан
Комментировать
@dborovikov
Если данные строготипизированные и строгоструктурированные, то Protobuf. Если формат не очень строгий, то JSON лучше подойдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы