1

UNIX ソケットを IPC メカニズムとして使用して、複数のクライアント プロセスがサーバー プロセスに接続しているとします。

各クライアント コードは無限ループで実行され、ソケットとの間でデータを読み書きしようとします。

私の質問: クライアントは、他のプロセスによって読み取られることを意図したデータを読み取っていないことをどのように知ることができますか? サーバー プロセスは単一のソケットにデータを書き込んでいますね。

TCP/IP の場合、この質問は意味がありません。ソケットはタプルを意味する<remote host, remote port, local host, local port, protocol>ため、サーバーにアクセスしようとして別のマシンで実行されているプロセスは、互いのデータを読み取ることができません。

しかし、UNIX ソケットの場合は単なるファイルですよね? または、何か不足していますか?

4

1 に答える 1

3
  • サーバーでは、各クライアントに独自のソケットがあります。明らかに、別のクライアントに送信されたデータを読み取ることはありません。
  • UNIXソケットはファイルではありませんが、その機能の多くはファイルAPI呼び出しを介してアクセスできます。
于 2012-02-15T15:24:24.020 に答える