首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言的DNS客户端程序

C语言的DNS客户端程序
EN

Stack Overflow用户
提问于 2014-11-02 02:06:17
回答 1查看 5.5K关注 0票数 1

我有这个家庭工作,其中我必须使DNS客户端,这是连接到一个DNS服务器与一个套接字。DNS服务器已经建立,所以我的工作是创建DNS client.The客户端应该发送一个域名到服务器,服务器应该响应与该域名等效的IP地址。因此,我想知道在编写DNS客户端代码时将使用的基本步骤。

另外,在互联网上,我发现了一个叫做"DNS查询程序“的程序。什么是DNS查询程序?我已经在下面附上了一个链接,它将引导您到该查询程序。这个程序对我制作DNS客户端有用吗?http://www.binarytides.com/dns-query-code-in-c-with-linux-sockets/

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-11-02 02:22:05

根据您所描述的,您所要做的似乎就是编写普通的tcp (或udp)客户端,并使用它将特定的消息发送到服务器并读取该消息。要做到这一点,您必须开始阅读一些linux网络教程,我建议您阅读W. Richard Stevens的"UNIX网络编程“。简而言之,您必须填写struct sockaddr_in,调用socket()connect()write/read close()。下面是一个示例,带有大写字母的函数只是相应的小写标准例程的包装器。

代码语言:javascript
复制
int main(int argc, char** argv) {

    int         sockfd;
    struct sockaddr_in  servaddr;

    if ( argc != 2)
        err_quit("usage: tcpcli <IPaddress>");

    sockfd = Socket(AF_INET, SOCK_STREAM, 0);

    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons( SERV_PORT);
    Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);

    Connect(sockfd, (SA *) &servaddr, sizeof(servaddr));

    str_cli( stdin, sockfd);        /* do it all: write/read from socket */

    close( sockfd);

    exit(0);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26691393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档