WvStreams
Docs
sgmlmanual
egfiles
wvresolverex.cc
1
/*
2
* A WvResolver example.
3
*
4
* Tries to look up two host names given on the command line.
5
* The expected output:
6
* resolver<Err>: 1 not in DNS.
7
* resolver<Err>: 2 not in DNS.
8
* resolver<Err>: 1 not in DNS.
9
* resolver<Err>: 2 not in DNS.
10
* resolver<Err>: 1 not in DNS.
11
* resolver<Err>: 2 not in DNS.
12
*
13
*/
14
15
#include "wvresolver.h"
16
#include "wvlog.h"
17
18
void
test(
WvResolver
&dns,
int
argc,
char
**argv)
19
{
20
WvLog
log(
"resolver"
, WvLog::Info);
21
const
WvIPAddr
*addr;
22
int
res1, res2;
23
24
res1 = res2 = -1;
25
26
while
(res1 < 0 || res2 < 0)
27
{
28
if
(res1 < 0)
29
{
30
res1 = dns.
findaddr
(100, argc > 1 ? argv[1] :
"abyss.cnss.ca"
,
31
&addr);
32
if
(res1 > 0)
33
log.print(
"Found address for 1: %s\n"
, (
WvString
)(*addr));
34
else
if
(res1 < 0)
35
log.print(
"[1] "
);
36
else
37
log(WvLog::Error,
"1 not in DNS.\n"
);
38
}
39
40
if
(res2 < 0)
41
{
42
res2 = dns.
findaddr
(100, argc > 2 ? argv[2] :
"frank.foxnet.net"
,
43
&addr);
44
if
(res2 > 0)
45
log.print(
"Found address for 2: %s\n"
, (
WvString
)(*addr));
46
else
if
(res2 < 0)
47
log.print(
"[2] "
);
48
else
49
log(WvLog::Error,
"2 not in DNS.\n"
);
50
}
51
}
52
53
}
54
55
int
main(
int
argc,
char
**argv)
56
{
57
{
58
WvResolver
dns;
59
test(dns, argc, argv);
60
test(dns, argc, argv);
61
}
62
63
{
64
WvResolver
dns;
65
test(dns, argc, argv);
66
}
67
68
return
0;
69
}
WvResolver
ASynchronous DNS resolver functions, so that we can do non-blocking lookups.
Definition:
wvresolver.h:24
WvString
WvString is an implementation of a simple and efficient printable-string class.
Definition:
wvstring.h:329
WvLog
A WvLog stream accepts log messages from applications and forwards them to all registered WvLogRcv's.
Definition:
wvlog.h:56
WvResolver::findaddr
int findaddr(int msec_timeout, WvStringParm name, WvIPAddr const **addr, WvIPAddrList *addrlist=NULL)
Return -1 on timeout, or the number of addresses found, which may be 0 if the address does not exist.
Definition:
wvresolver.cc:149
WvIPAddr
An IP address is made up of a "dotted quad" – four decimal numbers in the form www....
Definition:
wvaddr.h:249
Generated by
1.8.17