青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

New libevent: dns and http support

from:http://unx.ca/log/2006/10/17/new-libevent-dns-and-http-support/

Last night Niels Provos announced the release of libevent 1.2. It comes with 2 new and useful features:

  • Non-blocking DNS resolution: previously you had to write your own, hunt down someone elses or uses threads to prevent DNS lookups from blocking your app. This came just at the right time for me as I was about to integrate someone elses non-blocking solution into my app.
  • Support for simple HTTP clients and servers: At first thought this may seem like unneeded bloat, and to many it might. I usually work on applications that lack a user interface and sometimes a simple http interface is very useful for debugging, or quickly adding some extra control to your application. This might even been robust enough to add a basic webservices like API to your application.

Non-blocking DNS example:

#include <sys/types.h>
#include <sys/time.h>
/* For inet_ntoa. */
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <event.h>
#include <evdns.h>
void
usage(void)
{
fprintf(stderr, “USAGE: evdns-demo <hostname>n”);
exit(1);
}
void
evdns_cb(int result, char type, int count, int ttl, void *addresses, void *arg)
{
struct in_addr *addrs = addresses;
int i;
if (result != 0) {
printf(“Error looking up address.n”);
exit(1);
}
else {
for (i = 0; i < count; i++) {
printf(“%sn”, inet_ntoa(addrs[i]));
}
exit(0);
}
}
int
main(int argc, char **argv)
{
if (argc != 2)
usage();
event_init();
evdns_init();
evdns_resolve_ipv4(argv[1], 0, evdns_cb, NULL);
event_dispatch();
return (0);
}

http server example

#include <sys/types.h>
#include <sys/time.h>
#include <stdlib.h>
#include <err.h>
#include <event.h>
#include <evhttp.h>
void
root_handler(struct evhttp_request *req, void *arg)
{
struct evbuffer *buf;
buf = evbuffer_new();
if (buf == NULL)
err(1, “failed to create response buffer”);
evbuffer_add_printf(buf, “Hello World!n”);
evhttp_send_reply(req, HTTP_OK, “OK”, buf);
}
void
generic_handler(struct evhttp_request *req, void *arg)
{
struct evbuffer *buf;
buf = evbuffer_new();
if (buf == NULL)
err(1, “failed to create response buffer”);
evbuffer_add_printf(buf, “Requested: %sn”, evhttp_request_uri(req));
evhttp_send_reply(req, HTTP_OK, “OK”, buf);
}
int
main(int argc, char **argv)
{
struct evhttp *httpd;
event_init();
httpd = evhttp_start(“0.0.0.0″, 8080);
/* Set a callback for requests to “/”. */
evhttp_set_cb(httpd, “/”, root_handler, NULL);
/* Set a callback for all other requests. */
evhttp_set_gencb(httpd, generic_handler, NULL);
event_dispatch();
/* Not reached in this code as it is now. */
evhttp_free(httpd);
return 0;
}

posted on 2007-08-21 01:27 楊粼波 閱讀(624) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲色图制服丝袜| 麻豆精品视频在线观看| 性欧美大战久久久久久久久| 亚洲国产一区二区a毛片| 国产主播在线一区| 一区二区三区无毛| 亚洲国产mv| 亚洲激情成人在线| 亚洲视频 欧洲视频| 亚洲免费在线电影| 久久精品国产第一区二区三区| 久久久91精品| 欧美激情自拍| 99视频精品全部免费在线| 亚洲视频你懂的| 久久精品国产999大香线蕉| 久久一区中文字幕| 欧美日本三区| 国产精品久久久久久久浪潮网站| 国产一区二区三区免费观看| 亚洲国产欧美另类丝袜| 亚洲一区二区久久| 久久先锋影音av| 亚洲精品日本| 欧美一区二区成人6969| 欧美不卡在线视频| 国产欧美日韩视频在线观看| 亚洲精品黄色| 久久精品亚洲一区二区三区浴池| 亚洲国产福利在线| 一本色道综合亚洲| 久久久青草婷婷精品综合日韩| 欧美精品一区二区三区在线看午夜 | 国产精品久久中文| 黄色在线一区| 亚洲午夜视频在线| 免费人成精品欧美精品| 亚洲网站在线| 欧美精品aa| 在线国产亚洲欧美| 久久国产婷婷国产香蕉| 久久丁香综合五月国产三级网站| 在线一区二区三区四区五区| 午夜精品短视频| 久久视频精品在线| 国产欧美韩日| 亚洲图片欧美午夜| 欧美高清在线| 久久精品一二三| 国产无一区二区| 亚洲一区免费| 99国产精品久久久久久久成人热| 久久久免费观看视频| 国产一区二区三区精品久久久| 亚洲一区二区影院| 99精品国产在热久久婷婷| 欧美aⅴ一区二区三区视频| 国产亚洲欧美日韩美女| 亚洲欧美日韩精品久久久久| 亚洲精品少妇| 欧美日韩精品欧美日韩精品一| 亚洲电影免费| 欧美国产成人精品| 免费在线看一区| 亚洲日本欧美日韩高观看| 欧美国产成人精品| 欧美成人免费在线视频| 日韩视频在线观看国产| 亚洲精品国产品国语在线app| 欧美激情中文不卡| 亚洲一级在线观看| 亚洲欧美日本另类| 韩日欧美一区| 亚洲精品1区| 欧美日韩免费观看中文| 亚洲一区二区三区在线播放| 中国亚洲黄色| 国产无一区二区| 欧美顶级少妇做爰| 欧美国产精品中文字幕| 中日韩男男gay无套| 亚洲中字黄色| 尤物九九久久国产精品的特点| 欧美成人免费在线视频| 欧美日韩福利| 久久www成人_看片免费不卡| 久久久高清一区二区三区| 激情自拍一区| 亚洲精品在线免费| 国产老肥熟一区二区三区| 久久综合色影院| 欧美精品在线看| 欧美亚洲视频在线观看| 快播亚洲色图| 午夜在线观看免费一区| 老牛国产精品一区的观看方式| 亚洲深夜福利网站| 久久久久免费观看| 亚洲一区精品电影| 欧美成人国产| 久久精彩视频| 欧美午夜精品| 老司机午夜免费精品视频| 欧美喷水视频| 狼人天天伊人久久| 国产精品成人在线观看| 你懂的国产精品| 国产日本精品| 亚洲日本va午夜在线电影| 国产日韩欧美成人| 99香蕉国产精品偷在线观看| 在线日韩av片| 欧美一区二区三区的| 亚洲一区二区三区视频播放| 老司机精品视频网站| 久久精品99国产精品| 欧美日韩精品免费在线观看视频| 欧美91大片| 一区二区三区在线观看欧美| 先锋资源久久| 性做久久久久久久久| 欧美看片网站| 亚洲欧洲日韩综合二区| 亚洲第一在线视频| 久久精品人人做人人爽| 欧美亚洲视频在线观看| 国产精品99一区| 日韩亚洲欧美成人一区| 最新成人av网站| 美女视频网站黄色亚洲| 男女精品网站| 亚洲电影下载| 免费成人高清在线视频| 蜜桃av一区| 伊人精品久久久久7777| 久久青草福利网站| 蜜桃av综合| 悠悠资源网亚洲青| 久久综合中文字幕| 欧美黄色aa电影| 日韩网站免费观看| 欧美日韩免费观看一区三区| 99视频一区| 久久aⅴ国产欧美74aaa| 国产日韩欧美一区| 欧美在线综合| 免费久久99精品国产自| 在线日韩电影| 欧美国内亚洲| 制服丝袜激情欧洲亚洲| 欧美一级网站| 在线观看日韩av| 欧美激情久久久久| 一区二区三区国产精品| 亚洲欧美精品在线观看| 国产一区在线播放| 欧美r片在线| 日韩午夜精品| 欧美伊人影院| 国产私拍一区| 免费看亚洲片| 亚洲视频香蕉人妖| 久久视频这里只有精品| 亚洲国产婷婷香蕉久久久久久99| 欧美精品久久99| 香蕉久久夜色精品国产使用方法| 欧美波霸影院| 亚洲自拍偷拍色片视频| 国产亚洲电影| 亚洲茄子视频| 亚洲国产成人久久综合| 久久一区免费| 亚洲深夜福利在线| 欧美亚洲系列| 亚洲国产精品成人一区二区| 欧美精品二区| 亚洲欧美一区二区激情| 久久性色av| av不卡在线| 一区二区在线视频| 欧美视频在线观看一区| 欧美资源在线| 亚洲神马久久| 亚洲第一网站免费视频| 欧美一区二区三区视频免费| 伊人久久亚洲热| 欧美三级韩国三级日本三斤| 久久亚洲图片| 欧美一区二区私人影院日本| 亚洲精品免费电影| 免费观看一区| 久久激情五月激情| 亚洲午夜精品视频| 最新高清无码专区| 激情六月婷婷久久| 国产性天天综合网| 国产日韩欧美a| 国产色爱av资源综合区| 欧美视频亚洲视频| 欧美精品粉嫩高潮一区二区 |