socketpair (C++ Linux) を使用して (2 つの) アプリケーション間で双方向通信を行うにはどうすればよいですか? 両方のアプリケーションは同じハードウェア上で実行されるため、同じプラットフォーム上で socketpair を実装したいと考えています。
「2 つのソケットを接続して」、それらの間でデータを渡す簡単なテスト プログラムがあります。
どうやって各ソケットに別のアプリケーションですか?
私は Bluetooth を使用して同じタスクを実行することに成功しました (アプリは異なるハードウェアで実行されます)。今度は、同じハードウェアで同様のアプローチを適用したいと思います。
ご提案をお待ちしております。
答え1
この呼び出しを使用する場合、いくつかの選択肢があります (他にも選択肢がある場合があります)。
- fork を呼び出すと、ソケットを持つプロセスが 2 つできます。すると、一方の端を親が使用し、もう一方の端を子が使用できるようになります。
- あるいは、名前付きソケットを使用します。その場合、一方の端は作成者によって所有され、もう一方の端はファイル名に関連付けられます。