socketpair を使用してアプリケーション間で双方向通信を行うにはどうすればよいですか?

socketpair を使用してアプリケーション間で双方向通信を行うにはどうすればよいですか?

socketpair (C++ Linux) を使用して (2 つの) アプリケーション間で双方向通信を行うにはどうすればよいですか? 両方のアプリケーションは同じハードウェア上で実行されるため、同じプラットフォーム上で socketpair を実装したいと考えています。

「2 つのソケットを接続して」、それらの間でデータを渡す簡単なテスト プログラムがあります。

どうやって各ソケットに別のアプリケーションですか?

私は Bluetooth を使用して同じタスクを実行することに成功しました (アプリは異なるハードウェアで実行されます)。今度は、同じハードウェアで同様のアプローチを適用したいと思います。

ご提案をお待ちしております。

答え1

この呼び出しを使用する場合、いくつかの選択肢があります (他にも選択肢がある場合があります)。

  • fork を呼び出すと、ソケットを持つプロセスが 2 つできます。すると、一方の端を親が使用し、もう一方の端を子が使用できるようになります。
  • あるいは、名前付きソケットを使用します。その場合、一方の端は作成者によって所有され、もう一方の端はファイル名に関連付けられます。

関連情報