Wie kann ich Socketpair verwenden, um eine bidirektionale Kommunikation zwischen Anwendungen zu ermöglichen?

Wie kann ich Socketpair verwenden, um eine bidirektionale Kommunikation zwischen Anwendungen zu ermöglichen?

Wie kann ich Socketpair (C++ Linux) verwenden, um eine bidirektionale Kommunikation zwischen (zwei) Anwendungen zu ermöglichen? Beide Anwendungen laufen auf derselben Hardware, daher suche ich nach einer Implementierung von Socketpair auf derselben Plattform.

Ich habe ein einfaches Testprogramm, das „zwei Sockets verbindet“ und die Daten zwischen ihnen überträgt.

Wiemache ich sie darauf aufmerksam, dass jede Steckdoseist in einer ANDEREN Anwendung?

Ich habe mit derselben Aufgabe einigen Erfolg mit Bluetooth gehabt (Apps laufen auf unterschiedlicher Hardware), jetzt möchte ich einen ähnlichen Ansatz auf derselben Hardware anwenden.

Vorschläge sind willkommen.

Antwort1

Wenn Sie diesen Aufruf verwenden, haben Sie einige Auswahlmöglichkeiten (es kann noch andere geben):

  • Rufen Sie fork auf, damit Sie zwei Prozesse mit den Sockets haben. Dann können Sie ein Ende vom übergeordneten Prozess und das andere vom untergeordneten Prozess verwenden.
  • Alternativ kann ein benannter Socket verwendet werden. Dann gehört ein Ende dem Ersteller und das andere wird an einen Dateinamen angehängt.

verwandte Informationen