問題タブ [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.
clojure - タイムアウトが原因で http-kit クライアント コールバックが呼び出されたことを特定するにはどうすればよいですか?
例えば:
「some-url」がダウンしている場合、タイムアウト時に「post-callback」が呼び出されます。しかし、コールバック関数内で、タイムアウトのために呼び出されたかどうかを確認する方法。そうする方法があれば教えてください。ありがとう。
ruby - http 永続接続からデータを取得する
数日間試しましたが、ここで少し混乱しています。clojure http-kit を使用してキープアライブ get リクエストを作成しています。
ターゲット サーバーへの永続的な接続を確立したことは確かですが、sample.data ファイルには何も書き込まれていません。ストリームとテキストとして試しました。
また、プログラムが永続的な接続を作成するRubyバージョンも試しましたが、まだ何も書かれていません。
通常、ターゲットはWebhookを使用してサーバーに新しいデータが来ることを通知しますが、永続的な接続からデータを取得するにはどうすればよいですか?
- -編集 - -
上記は ruby を使用した実際の例で、スレッドを使用して接続からデータを読み取ります。だから私はclojureからデータを取得するために何かを見逃す必要があります
clojure - フォワード プロキシを使用するように clojure http-kit を構成する
http-kit を使用していくつかの http 投稿要求をサーバーに送信する小さな Clojure アプリがあります。プロキシ P を介して https POST リクエストをルーティングしたい。トラフィックを App->Proxy->Server のようにしたい。
(これは、対象ホスト X が IP に基づいてアクセスを制限しているためです)
これは可能ですか?
また、アプリはubuntuサーバーで実行されます.http-kitにプロキシサーバーを使用させるシステムレベルの構成は可能ですか? ただし、他のプロセスが影響を受けないことを好みます。
clojure - http-kit でプロキシを使用する方法
プロキシを使用して、clojure で http-client を使用しています。http-kit を試してみたいのですが、プロキシを使用する方法が見つかりません。データベースに保存されているプロキシのリストがあり、プロキシをランダムに選択して、http クライアントで使用します。http-kit にプロキシを使用するための API/パラメータがないように見えます。
networking - Clojure (/Java) で多数の同時 HTTPS リクエストを堅牢に作成するにはどうすればよいですか
HTTPS
入力ストリームがあり、結果をプログラムの別の部分に渡す前に、それぞれに対して 2 つのネットワーク要求を作成したいと考えています。通常のスループットは 1 秒あたり 50 です。
http-kit
デフォルトで非同期のクライアントを使用しています。プロミスを返し、コールバックを取ることもできます。Http-kit は Java NIO を使用します (こちらとこちらを参照)
受信するリクエストの速度は、リクエストを作成する時間と合わせて十分に高速であるため、これを非同期で行う必要があります。
私は3つのアプローチを試しました:
- イベントが発生したら、チャネルに配置します。
go
チャネルを引き離す多くのルーチン。deref
それぞれが、HTTP リクエストから promise を ing することにより、goblock を「ブロック」するリクエストを作成します。約束がスレッドでうまく機能するとは思わないため、これは機能しません。 - イベントが発生すると、すぐ
future
に async promise を「ブロック」する を開始します。これにより、CPU 使用率が非常に高くなります。さらに、何らかの形でネットワーク リソースが枯渇します。 - イベントが発生すると、
http-kit
リクエスト A のリクエストをすぐにトリガーし、リクエスト B を作成するコールバックを渡し、イベントを渡すコールバックを渡します。これにより、数時間後にメモリ不足エラーが発生します。
これらはすべて機能し、しばらくの間容量を処理します。それらはすべて最終的にクラッシュします。約 12 時間後の最新のクラッシュ:
失敗の原因はわかりません。保持されているクロージャが多すぎるか、段階的なリソースのリーク、またはスレッドの枯渇が発生している可能性があります。
質問
1 秒あたり 50 件の HTTP リクエストを作成し、それぞれに 200 ミリ秒かかる場合があります。つまり、常に 100 件のリクエストが処理中である可能性があるということは、過度の負担に思えますか?
スループットを処理し、堅牢な方法でこれを行うにはどうすればよいですか?
編集
char[]
YourKit プロファイラーは、約 2GB のs via org.httpkit.client.Handler
s via s があることを教えてくれます。java.util.concurrent.FutureTask
これは、古いハンドラー (つまり、要求) への参照が何らかの形で保持されていることを示唆しています。コールバックを使用しようとする全体的な理由は、これを回避することでした (ただし、何らかの形でクロージャーに巻き込まれる可能性があります)。
java - clojureでhttp-kitライブラリを読み込めません
私は反時計回りに日食の窓に取り組んでいます。このコードを実行すると:
次のメッセージを受け取りました:
それで、次に実行します:
その後、私は得る:
ご覧のとおり、http-kitがロードされています
奇妙なのは、最後のシステム再起動前に正常に機能していたことです。
ここに私のproject.cljがあります
android - レトロフィットがデータ上で samsung s3 android バージョン 4.0.4 に投稿できない
私は他のAndroidデバイスでうまく動作するAndroidアプリを持っていますが、データでAndroidバージョン4.0.4を実行しているsamsung s3では失敗します。Retrofit は 404 (ページが見つからないエラー) をスローしますが、ページは存在し、wifi で同じ要求を行うとうまく機能します。何が不正行為の可能性があるかについての考えを持っている人。ありがとう
スタックトレースの下を見つけてください
以下は、私が呼び出しを行うために使用しているコードです