問題タブ [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.
http - libevent HTTP サーバーと圧縮?
アプリケーションで libevent2 を使用して http サーバーをホストしています。出力を圧縮する組み込みの方法が見つかりません。
これらは私が検討しているオプションです:
- 応答を送信する前に、アプリで zlib を使用して gzip/deflate 圧縮を適用します
- libevent の http.c をハックして evhttp_connection->bufev (bufferevent オブジェクト) を公開し、発信データに zlib フィルターを適用します。
(両方とも、サポートされている圧縮形式を Accept-Encoding ヘッダーから読み取ります)
私が見落としている簡単な方法はありますか、それともこれで十分ですか?
c++ - VisualStudio2008でlibeventバージョン2.0.10をビルドする方法
Visual Studio 2008でlibevent-2.0.10をビルドするための明確な指示はありますか?
c++ - nodejs は libevent の実行とどう違うのですか?
私は、nodeJS に今得られる超同時実行性を与えるものに興味があります。私は実際にこれらのいずれかをそれほど使用したことはなく、暇なときに両方で遊んだだけです.
ノードが設定できると約束する数千の接続のように聞こえますが、libevent を使用しても、たとえば C++ でそれを行うことができます。
linux - libevent2 でのファイル I/O 処理の問題
しばらく libevent2 を使用していましたが、通常はネットワーク I/O (ソケットを使用) を処理するために使用していました。現在、さまざまなファイルを読み取る必要があるため、それも使用したいと考えていました。私はこのコードを作成しました:
残念ながら、うまくいきません。イベントを追加しようとすると、次のメッセージが表示されます。
[警告] fd 7 での Epoll ADD(1) が失敗しました。古いイベントは 0 でした。read change は 1 (追加) でした。write change was 0 (なし): 操作は許可されていません adding file イベント: 操作は許可されていません
ファイルが存在し、読み取り/書き込み権限があります。
libevent を使用してファイル IO を処理する方法を知っている人はいますか? bufferred イベントについても考えましたが、API には、ここでは適用されない関数 bufferevent_socket_new() しかありません。
前もって感謝します。
c++ - libevent または boost::asio を使用した単一スレッドでの複数の tcp 接続。それが可能だ?
libevent を使用して、1 つのスレッドで異なるサーバーへの複数の tcp 接続を作成することは可能ですか? そのようなタスクのサンプル実装を書いていただけますか?
私はそうしましたが、それが正しいかどうかはわかりません:
さらに、boost::asio? を使用して同様のことを実装できます。例?)
php - libevent を使用したマルチプロセス php
libevent を使用して単純な php websocket サーバーを作成できますが、マルチプロセッシングにしようとすると行き詰まります。
たとえば、これは単一の処理です
しかし、関数ev_readでこれを行うと
それはデータを送信しません...
では、マルチプロセッシング php ソケット サーバーを作成するにはどうすればよいでしょうか。
c++ - イベント駆動型サーバーが必要な場合、libeventまたはlibevを使用するにはどうすればよいですか?
イベント駆動型ライブラリの1つを使用して基本的なチャットサーバーを作成したいと思います。しかし、何を選ぶべきですか?libeventまたはlibev何が良いですか?どちらがより良いC++サポートを持っていますか?Windowsでどちらがうまく動作しますか?何が速いですか?開発と理解の迅速化
c++ - libevent で libusb を使用するには?
libevent を使用してイベント駆動型アプリケーションを作成しています。libusb-1.0 を使用して USB 転送を行う必要があります。
libusb_get_pollfdsを使用してファイル記述子のリストを取得し ( でfds
)、次のように libevent に追加したいと考えました。
また、libusb_set_pollfd_notifiers を使用してfdsを追加/削除しlibusb_fds_events
ます。
問題は、libusb によって返されたリストに多くの奇妙な fds が表示されることです (たとえば、stdin
イベントが 0 の場合に (!) を何度も取得します)。
私はそれを正しい方法で使用していますか?
c - C で非同期イベント サーバーを作成するための推奨パターン
私は、非同期イベント ディスパッチを処理するために kqueue() / epoll() を使用して、C で最初のシングル スレッド、シングル プロセス サーバーを作成しています。当然のことながら、制御の流れをたどるのは、ブロックしているサーバーよりもはるかに困難です。
コールバック駆動型のプロトコル実装が巨大な絡み合った毛玉になるのを避けるために人々が使用する一般的なパターン (おそらく名前を含む) はありますか?
あるいは、C で書かれたノンブロッキング サーバーで、ソース コードを読むのが楽しくなるものはありますか?
どんな入力でも大歓迎です!
その他の考え:
面倒な作業の多くは、IO のバッファリングを処理する必要があることに起因しているようです。バッファの充填/排出と単一の状態遷移の間には、必ずしも対応はありません。バッファーのフィル/ドレインは、[0, N] 状態遷移に対応する場合があります。)
私は libev ( docs here ) を見てきましたが、それは優れたツールのように見えますが、libevent はそれほど刺激的ではないように見えますが、それでも有用に見えますが、どちらも実際には質問に答えていません。ひどく不透明ではありません。
c++ - C ++ libeventの使用法(メモリリークおよび削除演算子)
私は2つのファイルを持っています:
と
g++ event_test_delete.cpp -levent -o event_test_delete.o
( )event_test_delete.cppをコンパイルすると、エラーが発生します:
しかし、g++ event_test_free.cpp -levent -o event_test_free.o
event_test_free.cppをコンパイルすると、同じエラーが発生しないのはなぜですか?
そして2番目の質問は(valgrindを使用して)なぜメモリリークがあるのかということです。
最初のファイルのValgrind出力:(なぜここにあるのMismatched free() / delete / delete []
ですか?)
そして2番目のファイル