Автор Тема: комуникация между 2 демона в линукс  (Прочетена 2626 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: комуникация между 2 демона в линукс
« Отговор #15 -: Jan 16, 2011, 01:29 »
XML-а просто описва (евентуално) голямо количество информация. Не е начин да предадеш въпросното количество информация. Ако ти е по-удобно да го ползваш - ОК. Аз лично мразя XML, защото се парсва трудно и защото е голямо разхищение. Обаче ако ти е най-лесно да го ползваш, няма проблеми, има и доста библиотеки за парсване на XML-и. Сега вече дали въпросният XML ще го засилиш по unix domain socket, дали ще го пишеш в shared memory, дали ще го пращаш по mqueue, сокет или pipe, няма значение.

П.П на този въпрос, аз не съм човекът, който да ти даде добър отговор. Питай някой C++ програмист с опит в абстрактното мислене. Аз съм тъп и искам просто вход и изход и се опитвам да дам оптималния път между двете :)
« Последна редакция: Jan 16, 2011, 02:01 от gat3way »
Активен

"Knowledge is power" - France is Bacon

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: комуникация между 2 демона в линукс
« Отговор #16 -: Jan 16, 2011, 08:34 »
Значи май XML остава еднствен вариант за голямо количество информация.
Ще може много команди да се зададът към модула едновременно и много отговори да се предадът.

Би ли разказал ако си правил някой интересен модулен проект на C++ как си го структурирал
Не, има (разпространени) три метода: RPC, ORB и webservice - нещата не са като да щракаш с пръсти, иска се работа и писане. През shared memory/ semaphores може да се организира подобни нещо, но в границите н една машина

....
П.П на този въпрос, аз не съм човекът, който да ти даде добър отговор. Питай някой C++ програмист с опит в абстрактното мислене. Аз съм тъп и искам просто вход и изход и се опитвам да дам оптималния път между двете :)
според мен въпроса не е програмистки, а архитектурен :)
Активен

0x2B|~0x2B

Nedko Arnaudov

  • Напреднали
  • *****
  • Публикации: 38
    • Профил
Активен

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Re: комуникация между 2 демона в линукс
« Отговор #18 -: Jan 16, 2011, 15:26 »
Би ли обяснил съвсем на кратко в кои случаи какво се палзва и как се ползва
RPC, ORB и webservice

Активен

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Re: комуникация между 2 демона в линукс
« Отговор #19 -: Jan 16, 2011, 16:17 »
RPC можеш да направиш лесно с libevent:
http://monkey.org/~provos/libevent/doxygen-1.4.10/
Цитат
libevent is an event notification library for developing scalable network servers. The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts.
Цитат
libevents provides a framework for creating RPC servers and clients. It takes care of marshaling and unmarshaling all data structures.

Явно водите ще са ти дълбоки. Ако ще правиш socket сам ще трябва да нагласиш кода за маршализиране и демаршализиране на структурите и останалото...
Активен

mobilio - професионални мобилни приложения

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Re: комуникация между 2 демона в линукс
« Отговор #20 -: Jan 16, 2011, 21:25 »
Май ще си реша проблема като ползвам message queue изпращайки данни в някакъв формат например XML.

Имате ли наблюдение кой формат изисква най-малко ресурси за конвертиране и е най-малък. Спрял съм се за сега на JSON.
Активен