問題タブ [http-kit]

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.

0 投票する
1 に答える
691 参照

clojure - タイムアウトが原因で http-kit クライアント コールバックが呼び出されたことを特定するにはどうすればよいですか?

例えば:

「some-url」がダウンしている場合、タイムアウト時に「post-callback」が呼び出されます。しかし、コールバック関数内で、タイムアウトのために呼び出されたかどうかを確認する方法。そうする方法があれば教えてください。ありがとう。

0 投票する
0 に答える
107 参照

ruby - http 永続接続からデータを取得する

数日間試しましたが、ここで少し混乱しています。clojure http-kit を使用してキープアライブ get リクエストを作成しています。

ターゲット サーバーへの永続的な接続を確立したことは確かですが、sample.data ファイルには何も書き込まれていません。ストリームとテキストとして試しました。

また、プログラムが永続的な接続を作成するRubyバージョンも試しましたが、まだ何も書かれていません。

通常、ターゲットはWebhookを使用してサーバーに新しいデータが来ることを通知しますが、永続的な接続からデータを取得するにはどうすればよいですか?

- -編集 - -

上記は ruby​​ を使用した実際の例で、スレッドを使用して接続からデータを読み取ります。だから私はclojureからデータを取得するために何かを見逃す必要があります

0 投票する
2 に答える
756 参照

clojure - フォワード プロキシを使用するように clojure http-kit を構成する

http-kit を使用していくつかの http 投稿要求をサーバーに送信する小さな Clojure アプリがあります。プロキシ P を介して https POST リクエストをルーティングしたい。トラフィックを App->Proxy->Server のようにしたい。

(これは、対象ホスト X が IP に基づいてアクセスを制限しているためです)

これは可能ですか?

また、アプリはubuntuサーバーで実行されます.http-kitにプロキシサーバーを使用させるシステムレベルの構成は可能ですか? ただし、他のプロセスが影響を受けないことを好みます。

0 投票する
1 に答える
433 参照

clojure - http-kit でプロキシを使用する方法

プロキシを使用して、clojure で http-client を使用しています。http-kit を試してみたいのですが、プロキシを使用する方法が見つかりません。データベースに保存されているプロキシのリストがあり、プロキシをランダムに選択して、http クライアントで使用します。http-kit にプロキシを使用するための API/パラメータがないように見えます。

0 投票する
2 に答える
1612 参照

networking - Clojure (/Java) で多数の同時 HTTPS リクエストを堅牢に作成するにはどうすればよいですか

HTTPS入力ストリームがあり、結果をプログラムの別の部分に渡す前に、それぞれに対して 2 つのネットワーク要求を作成したいと考えています。通常のスループットは 1 秒あたり 50 です。

http-kitデフォルトで非同期のクライアントを使用しています。プロミスを返し、コールバックを取ることもできます。Http-kit は Java NIO を使用します (こちらこちらを参照)

受信するリクエストの速度は、リクエストを作成する時間と合わせて十分に高速であるため、これを非同期で行う必要があります。

私は3つのアプローチを試しました:

  1. イベントが発生したら、チャネルに配置します。goチャネルを引き離す多くのルーチン。derefそれぞれが、HTTP リクエストから promise を ing することにより、goblock を「ブロック」するリクエストを作成します。約束がスレッドでうまく機能するとは思わないため、これは機能しません。
  2. イベントが発生すると、すぐfutureに async promise を「ブロック」する を開始します。これにより、CPU 使用率が非常に高くなります。さらに、何らかの形でネットワーク リソースが枯渇します。
  3. イベントが発生すると、http-kitリクエスト A のリクエストをすぐにトリガーし、リクエスト B を作成するコールバックを渡し、イベントを渡すコールバックを渡します。これにより、数時間後にメモリ不足エラーが発生します。

これらはすべて機能し、しばらくの間容量を処理します。それらはすべて最終的にクラッシュします。約 12 時間後の最新のクラッシュ:

失敗の原因はわかりません。保持されているクロージャが多すぎるか、段階的なリソースのリーク、またはスレッドの枯渇が発生している可能性があります。

質問

  1. 1 秒あたり 50 件の HTTP リクエストを作成し、それぞれに 200 ミリ秒かかる場合があります。つまり、常に 100 件のリクエストが処理中である可能性があるということは、過度の負担に思えますか?

  2. スループットを処理し、堅牢な方法でこれを行うにはどうすればよいですか?

編集

char[]YourKit プロファイラーは、約 2GB のs via org.httpkit.client.Handlers via s があることを教えてくれます。java.util.concurrent.FutureTaskこれは、古いハンドラー (つまり、要求) への参照が何らかの形で保持されていることを示唆しています。コールバックを使用しようとする全体的な理由は、これを回避することでした (ただし、何らかの形でクロージャーに巻き込まれる可能性があります)。

0 投票する
1 に答える
921 参照

java - clojureでhttp-kitライブラリを読み込めません

私は反時計回りに日食の窓に取り組んでいます。このコードを実行すると:

次のメッセージを受け取りました:

それで、次に実行します:

その後、私は得る:

ご覧のとおり、http-kitがロードされています

奇妙なのは、最後のシステム再起動前に正常に機能していたことです。

ここに私のproject.cljがあります

0 投票する
1 に答える
145 参照

android - レトロフィットがデータ上で samsung s3 android バージョン 4.0.4 に投稿できない

私は他のAndroidデバイスでうまく動作するAndroidアプリを持っていますが、データでAndroidバージョン4.0.4を実行しているsamsung s3では失敗します。Retrofit は 404 (ページが見つからないエラー) をスローしますが、ページは存在し、wifi で同じ要求を行うとうまく機能します。何が不正行為の可能性があるかについての考えを持っている人。ありがとう

スタックトレースの下を見つけてください

以下は、私が呼び出しを行うために使用しているコードです