実際、私はARM-Linuxで3つのアプリケーションを実行するソフトウェアを持っています。 Linuxホストx86でアプリケーションを実行したいです。
私のARM-Linuxプログラムの内部コンポーネントは、通信にUnixドメインソケットを使用します。
私のソケットタイプはAF_UNIXです。
Valgrindをサポートしていない古いARMプロセッサを使用しています。アプリケーションでいくつかのメモリリークが発生し、競合が発生しました。そこで、ホストシステムでアプリケーションを構築し、ドメインソケットを使用してARMとx86間の通信を確立する方法を見つけました。
これで、アプリケーションがfoo
ARMにあり、bar
Linux x86の状況が発生しました。問題は、異なるホストが互いに通信できるかどうかです。
以下のリンクを読んだ後、Unixドメインソケットがクロスドメインであると思っていましたが、混乱しています。
私は読んだ、
UNIXドメインソケットは、同じホスト上のプロセスのための方法です。通信が可能です。双方向通信にはストリームソケットを使用します。
fd = socket(AF_UNIX, SOCK_STREAM, 0);
答え1
カント。AF_UNIX
ソケットをバインドするためにファイルシステムのローカルinodeを参照し、ローカルファイルシステムはローカルホストでのみ機能するため、ソケットを使用してネットワーク上のホスト間で通信することはできません。
AF_INET
ノード間で通信するには、IPアドレスとポートにバインドされて別のホストに接続できるソケットを使用する必要があります。