]>
git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/dumresp.cc
10 int main(int argc
, char** argv
)
14 cerr
<<"Syntax: dumresp local-address local-port number-of-threads "<<endl
;
18 for(int i
=1 ; i
< atoi(argv
[3]); ++i
) {
23 ComboAddress
local(argv
[1], atoi(argv
[2]));
24 Socket
s(local
.sin4
.sin_family
, SOCK_DGRAM
);
27 if(setsockopt(s
.getHandle(), SOL_SOCKET
, SO_REUSEPORT
, &one
, sizeof(one
)) < 0)
28 unixDie("setsockopt for REUSEPORT");
32 cout
<<"Bound to "<<local
.toStringWithPort()<<endl
;
34 struct dnsheader
* dh
= (struct dnsheader
*)buffer
;
36 ComboAddress rem
=local
;
37 socklen_t socklen
= rem
.getSocklen();
39 len
=recvfrom(s
.getHandle(), buffer
, sizeof(buffer
), 0, (struct sockaddr
*)&rem
, &socklen
);
42 cout
<<"Had packet: "<<string(buffer
, len
)<<endl
;
47 if(sendto(s
.getHandle(), buffer
, len
, 0, (struct sockaddr
*)&rem
, socklen
) < 0)
52 catch(std::exception
& e
)
54 cerr
<<"Fatal error: "<<e
.what()<<endl
;