問題タブ [libev]

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 に答える
1049 参照

c - libev ev_io_stop() がソケットをクローズしない

私は libev を使用しているサーバーを持っています クライアントソケットが切断されるたびに、このようなコードを使用してソケット接続が停止されます

shutdown() または close() を具体的に呼び出す必要がありますか?

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

linux - C++ サーバー - 1024 を超える接続

Linux で実行され、libev ライブラリを使用する C++ のチャット サーバーがあります。1024 を超えるクライアントに接続しようとすると、-1 ファイル記述子でクラッシュします。

サーバーに対して 1024 を超える同時接続を許可したいと考えています。libev ドキュメントを見ると、select、poll、および epoll を使用するように構成できるように見えますが、デフォルトが何であるかはわかりません。

libev を使用してファイル記述子の制限を増やす方法に関するヒントや参考文献は大歓迎です!

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

libevent - CentOS で libev (dev) をコンパイルする

Linux (CentOS) 64 ビットでlibev-devをコンパイルする方法についてどこかに指示があるかどうか疑問に思っていました。libev に関連する開発パッケージも、そのコンパイルに関するチュートリアルも見つけることができませんでした。ps: パッケージ マネージャーは使用しないでください。特権なしでクラウドにインストールするためです。

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

c - C構造体の最初のフィールドは常にoffsetof 0であることが保証されていますか?

Cプログラミング言語について...

C/C++ Structure offsetの質問の一部には、「& は常に構造体の最初のフィールドの最初のバイトを指しているとは限らない」と記載されています。

しかし、 http: //www.lysator.liu.se/c/rat/c5.htmlの「ANSI Rationale」を見ると、セクション 3.5.2.1 構造体と共用体の指定子で「最初に穴が発生することはありません」と記載されています。したがって、「根拠」が決定的なものかどうかはわかりませんが、非常に目に見える質問のその部分と矛盾しているようです.

それで、それはどれですか? C構造体の最初のフィールドは常にoffsetof 0であることが保証されていますか?

移植可能な方法と同じであることが保証&myB &(myB.myA)れていますか?

(より具体的には、Libev の libev ユーザーデータ トリック、How to pass arguments to related callbacksおよび他の多くの場所では、構造体の最初のフィールドが offsetof 0 にあると想定しています...それは本当に移植可能ですか?)

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

libevent - libevent と libevent-dev の違い

libevent と libevent-dev の違いは何ですか。そのため、ソース (安定バージョン 2.0.21) から libevent をインストールしましたが、libevent-dev のソースを実際に見つけることができません。libevent-dev は個別のパッケージではありませんか? ソースから libevent 安定版をインストールした場合、libevent-dev は必要ありませんか? 御時間ありがとうございます。

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

c - ev_timer コールバックが本来よりも早く呼び出されました

libev の ev_timer に問題があります。以下のコードを見てください。

出力は次のとおりです。

タイマーを再起動した後、タイマーはすぐにトリガーされるため、これは奇妙ですが、5秒後にする必要があります。その理由は sleep(5) であることがわかりました。それを sleep(4) に変更すると、タイマー コールバックは呼び出されません。私は、liebev のタイマー機能について混乱しています。タイマーについて誤解していますか?そして、タイマーが再起動した後、タイムアウトが経過した後にタイマーコールバックを呼び出す方法は?

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

c++ - libev-4.15 が OSX 10.8 でコンパイルされない

libev-3.8 (OSX 10.8 で正常にコンパイル) から libev-4.15 にアップグレードしようとすると、次のエラーが発生します。

ev.h へのリンク: http://cvs.schmorp.de/libev/ev.h?revision=1.171&view=markup

私のシステム構成:

FWIW、同じ構成が CentOS5.6 で正常にコンパイルされます。