私は、多くのNetHackサーバーのように、Telnetを介して再生するはずのNetHackクローンで作業しています。私が言ったように、これはクローンなので、最初からPythonで書かれています。Telnetサーバー:接続を開いたままにするのがよい方法ですか?
私はしばらく前に書いたSMTPサーバからのコードを再利用し、私のソケットサーバを設定していると、突然のすべてが私の注意は、コードのこの特定の行にジャンプ:
s.listen(15)
私のサーバーができるように設計されましたどのクライアントとのデータ交換にも時間がかかりますが、理想的にはlisten(1)
またはlisten(2)
であれば、15人の同時クライアントに接続できます。しかし、このケースは異なります。
NetHackサーバをtelnetで接続するとAlt.orgが発生するので、私のサーバに接続している人は、単一のTelnetセッションを通じてリモートでroguelikeを再生できなければなりません。しかし、私は
[...]あなたが本当に128以上を保持している場合は、a)は、それらの処理に時間がかかりすぎてまたはb)重いが必要あなたが ある接続要求をキューに入れられたことを here読みました分散サーバ、またはc)DDoS攻撃を受ける。
ここで実行するのが良い方法は何ですか?接続されたユーザーが切断するか、または他の方法があるまで、すべての接続を開いたままにする必要がありますか?私はlisten(128)
(または私のシステムのsocket.SOMAXCONN
が何であれ)に行くべきか、それは悪い習慣ですか?
恐ろしい!それを知らなかった。どうもありがとうございました! – Maralis