IPC mit Boost oder Poco



  • Ich möchte zwischen zwei Anwendungen Informationen austauschen. Das ganze soll zumindest unter Windows und Linux problemlos laufen und daher würde ich einen Lösungsansatz auf Basis von Poco und Boost bevorzugen.

    Meine erste Idee wären Sockets, allerdings scheint mir das ziemlich mit Kanonen auf Spatzen geschossen zu sein und Domain Sockets scheint es leider unter Windows nicht zu geben?!

    In Schritt 1 würde eine unidirektionale Kommunikation ausreichen und typische "Nachrichten" wären einfach nur kurze Commands (z. B. "Verbinde Dich neu", "Trenne die Verbindung", etc.).

    Pipes und stdin / stdout kommen in dem konkreten Fall leider nicht in Frage. Mit Shared-Memory habe ich keinerlei Erfahrung wie darüber ein Austausch stattfinden kann.

    Hat jemand von Euch Erfahrung zu dem Thema und welche Ansätze habt Ihr verfolgt?



  • KayBe schrieb:

    Pipes und stdin / stdout kommen in dem konkreten Fall leider nicht in Frage.

    stdin/stdout würd ich sowieso nicht nehmen (außer eben für automatisierbare Konsolenanwendungen), aber was spricht gegen named pipes?



  • zeromq?
    Habe nur mal damit experimentiert.
    Im Vergleich zu Sockets das reinste Vergnügen.



  • websocketpp



  • Vielen Dank für Eure Antworten!

    Gegen Named-Pipes spricht ansich nichts, allerdings habe ich keine Möglichkeit mit Poco oder Boost IPC gefunden, wie man diese dort "plattform unabhängig" erstellt.

    ZeroMQ sieht sehr gut aus, aber extra noch einen zusätzlichen Dienst mitliefern für ein klein wenig IPC zwischen zwei Anwendungen ist mir etwas zu groß.



  • "Extra Dienst"?
    Wenn's plattformunabhängig sein soll, wirst Du wohl um irgendeine "extra"-Lib nicht herumkommen.


Anmelden zum Antworten