20

今日、Cherokee で Django を (SCGI を使用して) セットアップしていましたが、Django のドキュメントには、Web サーバーと Django 間の通信にホスト/ポートの組み合わせまたはソケットのいずれかを使用できると書かれていることに気付きました。

この問題について彼らが言わなければならない唯一のことは、

何を選択するかは好みの仕方です。通常、許可の問題により、TCP ソケットの方が簡単です。

(ちなみに、これをソケットで行う際にパーミッションの問題がありましたが、ホストではそうではありません:)。)

システム プログラミングの授業でソケットがどのように機能するかは漠然と覚えていますが、この 2 つの実質的な違いは何なのか、非常に興味があります。何かを選択するときはいつでも、その問題について意見を持っている人がいるので、私はそれを得ることを望んでいました. 特に性能差はありますか?

または、それがまったく問題にならない場合は、確認が必要なので、プログラミングを続行し、このsysadmin-yのものを無視できます.

4

2 に答える 2

40

UNIX ソケットは、ファイル システム内のファイルとして管理されます。ユーザー/グループの値と権限を正しく設定する必要があります。また、使用しているjailrootにある必要があります(postfix + mysqlを使用する場合の一般的なエラー)。

ポート > 1000 にバインドする限り、TCP ソケットに対してこれを行う必要はありません。

UNIX ソケットは、ネットワーク プロトコルを持たず、ネットワーク スタックをスキップするため、わずかに高速であると見なすことができますが、1 台のマシンに限定されます。一方、TCP を使用すると、さまざまなホストで実行されているサービスに接続できます。

于 2009-07-29T21:03:46.610 に答える