Python でソケットの学習を始めたばかりです。そこで、チャット サーバーとクライアントの例をいくつか書きました。私がインターネットで見たもののほとんどは、サーバーへのクライアント接続の (非同期) 処理にスレッド化モジュールを使用しているようです。何千ものスレッドがサーバーを殺す可能性があるため、スケーラブルなサーバーの場合、いくつかの追加のトリックを使用する必要があることは理解しています(間違っている場合は修正してください。しかし、それはGILが原因ですか?)が、現時点ではそれは私の関心事ではありません.
奇妙なことに、Python ドキュメントのどこかで、サブプロセスを作成するのが正しい方法であることがわかりました (残念ながら参照を失ってしまいました。申し訳ありません :( ) ソケットの処理について。
問題は、スレッドまたはマルチプロセッシングを使用することです。それとももっと良い解決策がありますか?
答えを教えてください、私に違いを説明してください。
ところで、よく書かれた Twisted のようなものがあることは知っています。既製のスケーラブルなサーバーを探しているわけではありません。代わりに、スケーリングできる、または少なくとも 10k クライアントを処理するサーバーを作成する方法を理解しようとしています。
編集:オペレーティング システムは Linux です。