2011-11-11 3 views
0

シンクレーションソケットサーバ上で非同期ソケット(TcpまたはUdp)サーバを使用する必要がありますか。非同期ソケットサーバを使用する利点

それはクライアント側でなら、私たちはそれがUIスレッドをブロックしないように非同期を使用するために使用されることを理解し..しかし、私たちは、サーバー側で非同期を使用する必要がある理由はよく分からない...

+2

スレッドなしで 'sync socket server'を使用して、着信要求を1つずつ処理します –

答えて

2

サーバー側では、クライアントの並列処理を許可することが重要です。 1つのクライアントに対して大きな要求を処理している場合は、2番目のクライアントの接続要求がタイムアウトしないようにします。これは、には、非同期メソッドを使用するがあることを意味しません。あなたは簡単に接続されたクライアントごとに個別のスレッドを作成し、メインスレッドで新しいクライアントを同期的に受け入れることができます(UdpではThreadPoolのスレッド内の各メッセージの処理をキューに入れることができます)。

非同期ソケットメソッドはすでに(別個のスレッドを使用して)並行性を処理しています。したがって、サーバーをスムーズに実行するには良いテクニックです。

+2

+1。同期コードは書き込みが簡単なことが多いので、複数のクライアントにしか対応できない場合は、同期コードが問題ありません。 10〜100人程度のクライアントの負荷に応じて、非同期モデルにswithcする必要があります。 –

+0

ありがとう!助けになる –

関連する問題