двунаправленная связь с Thrift или протокольными буферами - PullRequest
4 голосов
/ 14 июля 2011

(простите за мой английский)

Можно ли построить приложение (2 на самом деле), которое реализует двунаправленную связь между процессами?.

Я знаю две «фреймворки» для связи разных процессов (на разных языках) с буферами Thrift и Protocol.

Я знаю, что Thrift работает в режиме клиент / сервер, поэтому, если я хочу двунаправленную связь, мне нужно построить две стороны / процесс как клиент и сервер одновременно.

клиент / сервер <-------------------------> клиент / сервер

Я не знаю, правильный ли этот подход.

Но .. я не могу найти информацию об этом с помощью буферов протокола. это возможно?

У меня есть процесс C ++ и приложение Node.js (Javascript). Процесс C ++ отправляет уведомление приложению de Node.js (это хорошо работает, я использую Thrift для тестирования) ..

С другой стороны, пользователь взаимодействует с приложением Node.js .. В некоторых случаях приложение node.js должно уведомить процесс C ++. Поэтому мне нужно двунаправленное общение ..

Есть идеи?

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

1 Ответ

2 голосов
/ 16 сентября 2011

В этом сообщении есть несколько опций для Thrift - Обратные вызовы в экономичных асинхронных функциях?

Вопрос msdark на самом деле касается двунаправленной сигнализации о событиях, а не просто двунаправленной передачи данных. Данные могут передаваться в обоих направлениях с помощью Thrift или ProtoBufs. По сути, любой IPC должен передавать данные в обе стороны - вызов RPC и возвращаемое значение (я). Асинхронная клиент-сервер сигнализация событий встроена с использованием RPC, но асинхронная сервер-клиент требует больше работы. В этой области была работа. Лучшие два результата в поиске Google для 'thrift async' - это хорошие чтения.

Экономия: двунаправленный асинхронный RPC

и т.д ...

...