ソケット側でお客様なデータを読み込む速ください。
-
21-09-2019 - |
質問
私はクライアント/サーバー接続方法TCPソケットは、サーバへの書き込み顧客とすることができます。
を見ている私のネットワーク活動、顧客データを受け取り時には2.5Mb/sとなります。
新しい軽量クライアントに書いたかを読み、ベンチマークに、約5.0Mb/s(その最大速度のサーバーを送信できる).
ったのかを規律は、こちらの料金は、お客様に送信データサーバへのいず。
解決
TCPでは、クライアントです。サーバのTCPウィンドウがいっぱいになっている場合 - それは、クライアントからのより多くのACKが来るまで待つ必要があります。また、そのサーバが速く、クライアントがそれらを処理する速度よりもデータを送信できないことを意味する、TCPスタック内のあなたから隠されますが、TCPは保証された配信を紹介されます。
他のヒント
TCPフロー制御を持っており、それが自動的に行われます。 http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Flow_control
パイプがフロー制御に起因する一杯になると、、サーバーのI / Oソケット書き込み操作は完了しませんそれまでは、フロー制御がreleavedされます。
サーバはデータの書き込5.0Mb/sが合わない場合にはクライアントが、こちらのボトルネックをサーバーがお待ち前のデータを送信バッファーは完全に送信クライアント、または十分なスペースで入れます。
になっているということは、軽量クライアントを受けることができ5.0Mb/s、その後の受信業務をクライアントとしてチェック。を受けている場合はデータを処理する前に読み取りデータ、そしてこのボトルネックです。
で非同期的にデータを受信し、それを受けが完了して、クライアントソケットを受け取りをして、再度データを処理するデータを受信したのに別のスレッドプールねじになります。このように貴社のクライアントが常に利用者incommingデータ、サーバーを送信できれすることもなくなります。