#include<event2/dns.h>
#include<event2/util.h>
#include<event2/event.h>
#include<sys/socket.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
int n_pending_requests=0;
struct event_base* base=NULL;
struct user_data
{
char* name;
int idx;
};
void callback(int errcode,struct evutil_addrinfo* addr,void *ptr)
{
struct user_data* data=(struct user_data* )ptr;
const char *name=data->name;
if(errcode)
{
printf("%d.%s->%s\n",data->idx,name,evutil_gai_strerror(errcode));
}
else
{
struct evutil_addrinfo *ai;
printf("%d.%s",data->idx,name);
if(addr->ai_canonname)
{
printf("[%s]",addr->ai_canonname);
}
puts("");
for(ai=(evutil_addrinfo*)addr;ai;ai=(evutil_addrinfo*)ai->ai_canonname)
{
char buf[128];
const char * s=NULL;
if(ai->ai_family==AF_INET)
{
struct
libevent学习笔记二:使用evdns_getaddrinfo()的例子
最新推荐文章于 2022-07-08 12:13:27 发布