問題タブ [asynchttpclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - AsyncHttpClient (Java) onComplete(): onCompleted() は別のスレッドで実行されますか?
Java ライブラリAsyncHttpClientのコード ブロックを見ると、クライアントは新しいスレッド (a Future
) を開始してリクエストを作成します。コールバックは同じスレッドで発生しますか、それとも「メイン」スレッド (この場合、new AsyncHttpClient()
呼び出されたスレッド?
websocket - AsyncHttpClient を使用した WebSocket (wss) およびプロキシ サーバー
wssを使用して接続するためにプロキシサーバー構成でAsyncHttpClientを使用しようとしていますが、うまくいきません。私は async-http-client 1.7.5 と grizzly-websockets 2.2.13 を使ってきました 私の最初の試み
デフォルトの netty 構成を使用しても機能しません。この試みは、少なくともプロキシを経由してリモート サーバーに接続しているように見えます。私がそこに得る例外は
グリズリーの使用に切り替えると
物事は良く/悪くなります。この例では、grizzly が http プロキシ経由で接続動詞を送信できず、すぐに SSL 経由で通信を開始するように見えますが、これは失敗します。SSL を使用すると WebSocket 接続がプロキシ経由で機能する可能性が高くなるため、これは適切にサポートされる状況になると思います。]
私は何をすべきかの範囲外にいますか?
java - AsyncHttpClient が一貫性のない content-type を設定する
AsyncHttpClient を使用して、http POST リクエストを作成します。
content-type ヘッダーを送信しないこともあれば、次のように送信することもあります。
これにより、[REST API] サーバー側でリクエストが失敗します。
なぜ矛盾しているのか理解に苦しむ。
クライアントは次のように作成されます。
android - HttpClient を使用した HTTP リクエストが遅すぎますか?
専用サーバーでホストされているphpファイルにいくつかの投稿値を送信し、配列結果を保存するAndroidアプリをコーディングしようとしています
コードはこれです
このコードは、約 2.5 秒 (3G または WiFi の場合) を浪費して投稿を送信し、サーバーから "ok" の文字列を取得します。wifi が良好な場合でも、今回は 2.2 / 2.0 秒までしか低下しません。
同じ電話と 3G を介してインターネットに接続されたコンピューターで単純な Ajax sendpost スクリプトを実行しました。同じことを行うのに約 0.300 ミリ秒かかります。
/// ***更新
コンピューターでjqueryスクリプトを再試行しました(モバイル3G + / HDSPA接続を使用)
平均応答時間は約250msですが、常に最初のリクエストは最大 1.7秒です。30 秒間隔で投稿を送信しようとしたところ、平均時間が 1.5 秒になりました。次に、2 秒間隔で投稿を送信しようとしました。 1.41 秒、次は 252 ミリ秒でした
ここでチャートを見ることができます: http://i46.tinypic.com/27zjl8n.jpg
ケーブル接続 (標準のホーム DSL) を使用したこの同じテストでは、常に~170ms間隔の固定時間応答が提供されます (ここでは確固たる議論ではありませんが、最初の試行はわずかに高い可能性があります)。
つまり、最初の試行でモバイル接続に深刻な影響を与える何か (または間違っている) があります。何かアイデアはありますか?
java - 非同期 HTTP クライアントの netty クライアントを使用すると、高負荷で爆発しますか?
AsyncHTTPClient を使用してテストしている一部のコードで問題が発生しています。ここに一般的な構成があります
(ThrottleRequestFilter を使用する際の奇妙なバグのため、最大接続数はコメントアウトされていることに注意してください。こちらを参照してください https://groups.google.com/forum/?fromgroups=#!topic/asynchttpclient/nEnQnPtCP2g )
ここにいくつかのテストコードがあります、
import.txt ファイルが次のような 100 行未満の単純なテキストの場合
すべてが正常に機能し、すべてのリクエストが通過し、応答を確認するとすべて問題ありません。100 を超えるとタイムアウトが発生し始め、1000 以上の場合は実際に permGen メモリ エラーが発生し始めます。
ThrottleRequestFilter は、最大スレッドを 10 に制限し、一度に 10 のみを処理することになっていると思いました。テキスト ファイルに 100 行以上あると、なぜ爆発するのですか?
また、Grizzly 実装を使用するように切り替えようとしましたが、それも同じように爆発します。テスト コードの書き方に問題があるのか、大量のリクエストを作成するときに Async HTTP Client に実際に問題があるのではないかと疑い始めています。もしそうなら、Java用の他の良い非同期httpクライアントはありますか?
apache-httpclient-4.x - これが機能していないため、Apache非同期httpクライアントを使用する方法
私はそのような非常に単純なクライアントを持っています
問題は、リスナー メソッドが呼び出されないことです。MyResponseHandler は AsyncCharConsumer を拡張していますが、それに対しては何も呼び出されず、FutureCallback でも何も呼び出されません。私は決して応答を得ません。
注 1: client.execute を呼び出して、Futures とやり取りせずにスタックを上に戻せるようにする必要があります。
注2:リスナーメソッドを呼び出す必要があります(リモートエンドがhttpチャンクをストリーミングしているため、データが入ってくると呼び出される必要があります。
これを機能させる方法はありますか?またはライブラリを切り替える必要がありますか?
ありがとう、ディーン
ssl - 非同期httpクライアントの証明書を受け入れる方法
このページでhttpsの実行方法を確認します
http://sonatype.github.com/async-http-client/ssl.html
しかし、この環境のように証明書を無視して受け入れたい場合はどうなりますか?分離された環境にあり、QAデータの自動テストのためにいくつかの作業を行っているため、現在、中間者は気にしません。
代わりに私の質問は、JavaのSSLスタックでSSLを偽造して、もう一方の端で任意の証明書を受け入れる方法です(これは、httpsであるため双方向ではありません)。
上記のリンクにあるクライアントの一般的なコードは次のとおりです。
さて、それをうまくやって、私はこれがまだ何らかの理由で機能していないことを知りました
ありがとう、ディーン
java - AsyncHttpClientとタイムアウト
AsyncHttpClient JDKFuture.get()内
なぜ2つのタイムアウトがあるのですか?
タイムアウトの期限が切れても通話が発信されないため、2回目のタイムアウトは私たちを傷つけています。get()を再帰的に呼び出し続けます。
responseTimeoutInMsがヒットすると、接続は閉じられますか?タイムアウトより低く設定しようとしています。
java - (ning)非同期HTTPクライアントはクエリパラメータをエンコードしますか?
次のURL形式でダウンストリームサーバーにリクエストを送信するningAsyncHTTPクライアントを使用しています。
http://{downstream-server}:4080/object/id?query_parameters=a1,a2
,
クエリパラメータのに注意してください。私の問題は、HTTPクライアントが次のようにリクエストを実行する前にクエリパラメータをエンコードしているように見えることです。
query_parameters=a1%2Ca2
ダウンストリームサーバーが次の例外をスローするため、これを知っています。
Invalid query parameter value: a1%2Ca2. Can be a1 or a2
何らかの理由で、ダウンストリームサーバーはクエリパラメータをデコードしません。クライアントがリクエストを実行する直前に、のクエリパラメータの値を確認しましたが、request.getQueryParameters()
まだquery_parameters : a1,a2
です。
クエリパラメータをエンコードしないようにHTTPクライアントを取得できますか?
java - asynchttpclient を使用した JSON 投稿
非同期サポート (大気によって提供される) を使用して REST サービスで POST 要求を実行しようとしています。私のサービスは次のようになります。
asyncHttpClientを使用して POST リクエストを実行しようとすると、ステータス 200 が返されますが、メッセージが受信されたというサービスからのログはありません。
Apache HttpClientを使用すると、サービスはメッセージを受信したことをログに記録し、200 ステータス コードを取得します。
asyncHttpClient が機能しないのはなぜですか?