私はあなたの質問に正確に何を要求しているか分からないが、好きなのは、お客様のサーバー上で選択すると、クライアントの接続を聞くことが有益な仕事をするにも必要なのはループが必要と格闘しているという事実ですね。同様に、お客様のクライアントでは、ユーザの入力を聞くには、サーバーからの応答を待つ時間は同じで必要があるかもしれません。
私はあなたを使用している言葉を知っているものはありませんが、私はPHPでは、ソケットの周りに薄いラッパーを置くこのやった関連の装置を使って、かなり似ていると呼んでいる。一般的かどうかを( )を呼び出すかどうかを選択するブロックを決定する必要があります。それは、お客様のメインループでは、繰り返しの結果を選択してください( )の呼び出しは、まだ多くのCPU時間をそしゃく紡糸ブロックではないかもしれませんが。
あなたはタイムアウトを決めるかもしれないが、 100ミリ秒かを選択してください( ) sobeforeブロックがないデータとの継続、他のコードを実行するかを決定する。これは、お客様のアプリケーションのパフォーマンスを損なうことが多いため、眠っているながら、お客様のアプリに行くすべきものかもしれません。
もしご質問があるんですが、あなたのアプリケーションを複数の(または複数の)スレッドを作成するようにチェックする必要があります。このコンセプトをサーバとクライアントの両方に適用されます。メインスレッドは、お客様のご要望に応じて働くとOとは別のスレッドには、オペレーティングシステムのすべてのスケジュール設定の面倒させるのI /委任することができます。 I / Oスレッドは、後ろのI / Oスレッドが処理を完了してもそれらを忠実にサービス/ O要求をし、メインスレッドのすべての私がキューされます。悲しいことに、私はまだので、私はさらに支援することはできません自分自身のスレッドを探しています。これは物事に気を付けるようにしてちょっと有毛ときや多重マルチスレッド対応を取ることができる
レースコンディション、
デッドロック、およびその他の並行処理のホストに関連する問題。