私は Java でネットワーク タイム プロトコル (NTP) プロジェクトを作成しているようなもので、少なくとも 3 つのクライアントをサーバーに接続し、固定遅延などで時間を取得するよう求められています。
私の質問は、多くのクライアントを受け入れるサーバーを作成する方法です...これが最も簡単な方法ですか? シングルソケットでできますか?それとも、スレッドでそれを行う方が簡単ですか?
私は Java でネットワーク タイム プロトコル (NTP) プロジェクトを作成しているようなもので、少なくとも 3 つのクライアントをサーバーに接続し、固定遅延などで時間を取得するよう求められています。
私の質問は、多くのクライアントを受け入れるサーバーを作成する方法です...これが最も簡単な方法ですか? シングルソケットでできますか?それとも、スレッドでそれを行う方が簡単ですか?
スレッドを使用しないと、1 つのクライアントとの会話が完了するまで、他のすべての接続がブロックされます。マルチスレッドを使用する必要があります。このような優れたオンライン リソースが多数あります。
基本的に、ループし、新しいソケットを作成するたびにaccept()
、新しいスレッドを作成して処理するか、スレッド プールに渡します。