タグ

2012年12月14日のブックマーク (2件)

  • PHP: 例 - Manual

    <?php function print_line($fd, $events, $arg) { static $max_requests = 0; $max_requests++; if ($max_requests == 10) { // 10 回書き込んだらループを抜けます event_base_loopexit($arg[1]); } // 行を表示します echo  fgets($fd); } // ベースとイベントを作成します $base = event_base_new(); $event = event_new(); $fd = STDIN; // イベントフラグを設定します event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base)); // イベントベースを設定します ev

  • libeventでechoサーバをつくってみた - Rhythm & Biology

    memcachedで使われていることで有名なlibeventを試してみました。 以前libevを試したことがあるのですが、libeventの方が少し書きやすいという印象です。パフォーマンスに関してはlibevのほうが上という噂ですが。 libeventやlibevに関して少し説明しておくと、これらは非同期IOを実現するライブラリです。他にもシグナルやタイマー処理といったこともできるらしいです(まだ詳しく調べていません)。 非同期IOのAPIはOSごとに独自のもの(epoll, kqueueなど)があるのですが、libeventなどを利用するとその違いを隠蔽してくれるため、移植性が高まります。freebsdで開発してlinuxで動かすということだって出来ますね。 インストールに関しては、macの場合にはmacportsで簡単に入れられますし、linuxであればyumやapt-getで簡単に導

    libeventでechoサーバをつくってみた - Rhythm & Biology