1

2 種類の「接続」について話し合ったところです。サーバーとクライアントがあるとしましょう。両方が互いのサーバーとクライアントである場合、これは双方向ですか?

同じセッション/同じケーブル/同じものを使用しないため、2 つの単方向接続は 1 つの双方向接続とは多少異なるという印象を受けました。

そのような違いがある/ないことを説明するより一般的な方法はありますか?

PS: 検索すると、データベース ディスカッションが表示されました。

PPS: どうにか一方向性はタグとして利用できません。十分な評判を持つ誰かがそれを作成できますか?

4

1 に答える 1

1

双方向接続は、多くの場合、2 つの単方向接続とは論理的に異なります。これは、2 つのデータ フロー間の因果関係を意味するためです。独立した入力とパイプを双方向接続にカプセル化するタイプを使用すると便利な場合がまれにあるかもしれませんが、一般的には、2 つのパイプを 1 つのユニットとして保持して使用する必要があります。単一の双方向接続の入力側と出力側を使用したい場合もありますが、ある接続の入力側と別の接続の出力側を使用したい場合もあります (たとえば、プログラムはデフォルトで stdin と stdout を入力側と出力側に接続する場合があります)。単一のソケットのいずれかまたは両方を別の場所に接続できる場合があります)。

簡単に言えば、入力が出力に依存しないことをプログラムが想定している場合 (「sort」や「grep」などの場合のように)、入力と出力は独立したオブジェクトにする必要があります。入力が出力に依存することをプログラムが予期している場合 (たとえば、要求を送信し、応答を読み取ることを期待している場合)、入力と出力は双方向接続オブジェクトによって処理される必要があります。

于 2011-08-29T16:16:59.113 に答える