Portál AbcLinuxu, 12. května 2025 07:44

Dotaz: Co použít pro komunikaci mezi procesy v C?

15.3.2011 16:18 Thunder.m | skóre: 35 | blog: e17
Co použít pro komunikaci mezi procesy v C?
Přečteno: 297×
Odpovědět | Admin
Rád bych si napsal vlastní SW, který mi bude ovládat TV tuner (přes IOCTL). Potřeboval bych abych mohl číst informace ze SW velice často i více klienty a zároveň mohl i přes poslání příkazu do SW ovládat tuner.

Jaké je asi tak nejvýhodnější řešení? Uvažoval jsem o sysfs, případně již zastaralém procfs, ale nenašel jsem že by se používal i pro aplikace. Líbila by se mi jednoduchost zaslání příkazu přes echo a čtení informací přes cat.

Vím že tu jsou sockety, existují nějaké příklady komunikace přes sockety? Nevím například když použiji pro komunikaci klient/server tak jestli tím vlastně nezaberu TCP port na PC, což bych nechtěl, protože bych chtěl mít spuštěných více instancí najednou (jeden tuner = jedna instance SW).

Původním implementaci jsem měl přes named pipe, ale rád bych to udělal pořádněji.

Máte nějaké doporučení jak na to?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.3.2011 16:43 l4m4
Rozbalit Rozbalit vše Re: Co použít pro komunikaci mezi procesy v C?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejspíš chceš unix domain sockets (PF_LOCAL). Jejich adresy jsou jména souborů, tj. vypadají jako soubory, ale jsou to sockety, takže není problém s více klienty.
15.3.2011 17:41 Thunder.m | skóre: 35 | blog: e17
Rozbalit Rozbalit vše Re: Co použít pro komunikaci mezi procesy v C?
Takže v jednu chvíli může být připojeno více klientů k socketu a mohou v tu samou chvíli dostávat stejná data zpracována v serverové části jen jednou?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.