UNIXソケットをIPCメカニズムとして使用して、複数のクライアントプロセスが接続しているサーバープロセスを考えてみましょう。UNIXソケット:クライアントは別のクライアント向けのデータを読み取ることができますか?
各クライアントコードは無限ループで動作し、ソケットとの間でデータの読み書きを試みます。
私の質問:クライアントは、他のプロセスによって読み取られるデータを読み取っていないことをどのように知っていますか?サーバープロセスはデータを1つのソケットに書き込んでいます。
TCP/IPの場合、ソケットはタプル<remote host, remote port, local host, local port, protocol>
を意味するので、サーバーにアクセスしようとしている別のマシンから実行されるプロセスは互いのデータを読み取ることができません。
しかし、UNIXソケットの場合、それは単なるファイルですか?または私は何かを逃していますか?
コードを追加できますか? – tafoo85
@ tafoo85:これは、複数のクライアントプロセスが接続しているUNIXサーバプロセスの単なる一般的なケースです。 IPCスキームはファイルにマッピングされるUNIXドメインソケットなので、私の質問は、サーバが常に同じソケットにデータを書き込んでいるので、クライアントが何らかのデータがあるかどうかを知る方法です。 – Fanatic23
私はいくつかのコードを参照することができますそれは通常説明に役立ちます。それで全部です。 – tafoo85