как реализовать адаптер протокола

#c #sockets #protocols #message-queue #opc

#c #сокеты #протоколы #очередь сообщений #opc

Вопрос:

Я хочу реализовать адаптер, который может предоставлять клиентам универсальный интерфейс для использования сокета, opc, очереди сообщений и т.д. Другими словами, научиться использовать api трех вышеупомянутых протоколов — нетривиальная задача.

Например, клиент хочет взаимодействовать с внешним сервером сокетов, и единственное, что ему следует сделать, это использовать наш простой api, а не сложный bsd-socket.

Я хочу знать, существует ли сейчас какая-либо существующая реализация, у которой я мог бы поучиться. Спасибо!

Ответ №1:

ZeroMQ предоставляет API, подобный сокету, который позволяет абстрагироваться от транспортного механизма. В настоящее время он поддерживает in process, разделяемую память, PGM и TCP в качестве транспортных механизмов.

Ответ №2:

У Google есть protobuf, я думаю, он называется, и есть еще один, который я видел упомянутым, но на данный момент он ускользает от меня. Проверьте здесь информацию о protobuf

Комментарии:

1. Спасибо! возможно, я не объяснил это ясно. вот сцена: есть сервер сокетов, который определил определенный формат обмена данными, такой как xml. я хочу реализовать промежуточное программное обеспечение, которое может не только предоставлять более простой api, чем bsd-socket, но также обрабатывать преобразование сообщений в формате xml. итак, архитектура выглядит как «приложение-промежуточное программное обеспечение- сервер сокетов» (извините, я не знаю, как вставить фотографию). два других протокола также работают таким образом.