する#include <stdio.hに> の#include "イベント2 / event.h" の#include <unistd.h> ボイドstdin_callback(evutil_socket_tのFD、短いもの、ボイド*引数) { 静的INT i = 0; チャーBUF [1024]。 構造体のイベント・ベース=(構造体event_base *)引数。 printf( "\ nを開始stdin_callback"); INT RET =(FD、BUF、はsizeof(BUF))を読み取ります。 BUF [RET] = '\ 0'; printf( "BUF%S \ n"は、BUF)。 printf( "stdin_callbackエンド\ nを"); IF(++ I> = 1) { // event_base_loopbreak(ベース) // event_base_loopexit(ベース、NULL); 構造体体timevalタイムアウト= {5,0}。 event_base_loopexit(ベース、およびタイムアウト)。 INTメイン() { 構造体event_base *基地= event_base_new()。 構造体のイベント* EV0 = event_new(ベース、STDIN_FILENO、0、NULL.NULL)。 event_assign(EV0、ベース、STDIN_FILENO、EV_READ | EV_PERSIST、stdin_callback、ベース); event_add(EV0、NULL); 構造体のイベント* EV1 = event_new(ベース、STDIN_FILENO、0、NULL.NULL)。 event_assign(EV1、ベース、STDIN_FILENO、EV_READ | EV_PERSIST、stdin_callback、ベース); event_add(EV1、NULL); / *イベントループ* / event_base_loop(ベース、0); //效果等同于event_base_dispatch(ベース) // event_base_loop(ベース、EVLOOP_ONCE)。 // event_base_loop(ベース、EVLOOP_NONBLOCK)。 (event_base_got_break(ベース))であれば プット(「イベントベース・ループブレーク」)。 (event_base_got_exit(ベース))であれば、他 プット(「イベント・ベースのループ終了」)。 event_base_free(ベース) event_free(EV0)。 event_free(EV1)。 0を返します。 }
libeventのイベントループ
おすすめ
転載: blog.51cto.com/5468775/2406505
おすすめ
ランキング