問題タブ [libevent]

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 投票する
3 に答える
1325 参照

c - libevent を使用して HTTP サービスを実装する小さなプロジェクトを知っていますか?

私のCは少し錆びています。libevent で試して実現したいアイデアがいくつかあります。参照として使用できるコードベースを知っていますか?

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

.net - libevent、windows、および .NET プログラミング

私は多くのオープン ソース ソフトウェアを試してみましたが、オープン ソースの世界では、要求を処理するために複数のスレッドを生成するのではなく、イベント ベースの処理を容易にするために libevent を使用するサーバー タイプのアプリケーションがかなりの数あることに気付きました。

また、多くの .NET プログラミングも行っており (これが私の中心的な仕事です)、libevent が .NET イベント モデルにどのように関係しているかを知りたいと思っています。.NET のイベントは、C プログラムの libevent と同等ですか? libevent を学習してカスタム .NET サーバー アプリケーションで使用する必要がありますか、それとも標準の .NET イベント モデルを使用しても基本的に同じですか?

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

python - libeventまたは同等の技術に基づくPython httpプロキシライブラリ?

私は、ルーティング、ヘッダーの検査と強化 (例: Cookie と http ヘッダーの検査と構築)、およびその他のさまざまな空想が可能なインテリジェントなリバース HTTP プロキシを構築しようとしています。私が構築しようとしているものの一般的なアイデアについては、スケーリングとモニタリングのための Ruby プロキシー (Python を除く) を参照してください。

Twisted はこれに対する非常に優れた答えであり、その eventmachine は Twisted に触発されたものですが、Twisted 以外のものを探しています。

理想的には、独自の小さなプラグインで変更できる http プロキシ機能を含むライブラリまたはパッケージです。

http サーバー機能が組み込まれた eventlib に基づいたものを見たのを覚えていますが、それを見つけることができないようです。

また、perlbal についても詳しく調べています。Perl であることを除けば、これはほぼ完璧なソリューションのように見えます。

推奨事項はありますか?

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

c - コンパイル中にlibeventをgccと静的にリンクする方法は?

私は自分のプロジェクトで event.h を使用しましたが、それを実行する必要があるサーバーはそれをサポートしていません。また、私もそれをインストールすることはできません。最小限の変更でプロジェクトを実行する方法はありますか?

静的にリンクしてコンパイルする必要がありますが、どうすればよいですか?

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

c - エラーの理由と解決策-"/usr/ bin / ld:-leventが見つかりません"?

libeventライブラリを使用しているプログラムをコンパイルしている間、gccオプション-leventを使用しています。しかし、私はこのエラーが発生しています-

/ usr / bin / ld:-leventが見つかりません

システムにlibeventがないので、コンパイル中に静的にリンクしています。

どうすればこれを解決できますか?

前もって感謝します!

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

memcached - Windows用のmemcachedを構築するにはlibeventが必要ですか?

前の投稿を誤って削除してしまいました。memcached をビルドできるようにするために libevent をコンパイルする必要がある理由を正確に知ることができますか? 実際、libevent をコンパイルせずに Windows 用の memcached を使用することができ、memcached をサービスとしてインストールしました。奇妙なことは何も起こりません。

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

java - Jetty はどの程度スケーラブルですか?

ご挨拶!libevent を使用して、C/C++ で非常にスケーラブルな HTTP イベント (ロングポーリング) サーバーを作成しました。しかし、それは面倒で、ほとんど移植性がなく、それに直面しましょう: それは C です。言うまでもなく、mysqlcpp コネクタ (完全にゴミです) にいくつかの大きな問題があり、libevent にいくつかの小さな問題があります (それは私が2.0.1-alpha を使用しています)。イベント サーバーは C/C++ であり、実際のバックエンドは PHP-fpm であり、必要に応じて (つまり、新しいイベントがある場合) ヒットします。すべてのプロキシ/CGI ルーティングは、nginx を介して行われます。

Java で全体 (イベント サーバーとバックエンド) を書き直すことについて議論しています。フロントエンドに PHP を使用するのが好きです。私は Jetty について多くの良いことを聞いてきましたが、Jetty バックエンドで動作する現実世界の高度な同時実行アプリケーションをデプロイした経験がある人がいるかどうか疑問に思っています。もしそうなら、HTTP libevent 実装、または同等の Erlang および Python サーバー ライブラリと比較した場合、どのように積み上げられますか?

ベンチマークには興味がapachebenchないので、リンクしないでください。並行性スケーラビリティに興味があります。

洞察をありがとう。

0 投票する
4 に答える
4461 参照

java - libevent に相当する Java はありますか?

各リクエストを独自のスレッドで処理する高スループット サーバーを作成しました。受信するリクエストについては、1 つまたは複数のバックエンドに対して RPC を実行する必要がある場合があります。これらのバックエンド RPC は、個別のキューとスレッド プールによって処理されます。これにより、作成されるスレッドの数とバックエンドへの接続の最大数が制限されます (クライアントを再利用してオーバーヘッドを節約するためにキャッシュが行われます)。常に接続を作成します)。しかし、これをすべて行った後、イベントベースのアーキテクチャの方が効率的であると考え始めています。

Java の libevent に相当するものは見つかりませんでしたが、適切な場所を探していないのでしょうか? Apache の Mina-statemachine は、私が見つけた最も近いものでしたが、必要以上に冗長に見え、実際のリリースはありません。

助言がありますか?

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

c - libevent2のチャンクされた応答

私はこの方法でlibeventで(大きなファイルの)チャンク応答を実行しようとしています::


問題はこれにあります。add_fileが非同期であると感じているので、3番目かそこらevhttp_send_reply_chunkでエラー(または同様のもの)が発生します。

[警告]evhttp_send_chainClosed(45):不正なファイル記述子

チャンク転送エンコーディングを実際にテストするMAX_READ_SIZEように設定しました。8

使用できる方法があることに気づきましたが、evhttp_request_set_chunked_cb (struct evhttp_request *, void(*cb)(struct evhttp_request *, void *)) 使用方法の例が見つかりませんでした。

たとえば、コールバックに引数を渡すにはどうすればよいですか?引数は、要求ハンドラーに渡されたものと同じ引数のようですが、送信するファイル記述子とファイルオフセットを保持するオブジェクトを作成したいので、必要なものではありません。

すべての助けに感謝します。

よろしくお願いしますスリ

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

python - x86_64 での gevent のインストールが失敗する:「未定義のシンボル: evhttp_accept_socket」

新しい EC2 CentOS 5.3 64 ビットシステムにgeventをインストールしようとしています。

yum で利用可能な libevent バージョンは別のパッケージ (beanstalkd) には古すぎるためlibevent-1.4.13-stable、次のコマンドを使用して手動でコンパイル/インストールしました。

これは、gevent のインストールからの出力です。

ローカルの VirtualBox インスタンス (32 ビット) でまったく同じ手順を実行しましたが、エラーは表示されません。

どうすればこれを修正できますか?