美文网首页
网络socket

网络socket

作者: ustclcl | 来源:发表于2019-04-06 20:44 被阅读0次
    思维导图.jpg
    #include <sys/types.h>                                         
    #include <sys/socket.h>                                        
    #include <netdb.h>                                             
    #include <arpa/inet.h>                                         
    #include <stdio.h>                                             
    #include <stdlib.h>                                            
    #define MAXLINE 1024                                           
                                                                   
                                                                   
    int main(int argc, char **argv)                                
    {                                                              
        struct addrinfo *p,*listp, hints;                          
        char buf[MAXLINE];                                         
        int rc, flags;                                             
                                                                   
        if(argc != 2){                                             
            fprintf(stderr,"usage: %s <domain niane>\n", argv[0]); 
            exit(0);                                               
        }                                                          
                                                                   
                                                                   
        //Get a list of addrinfo records                           
        memset(&hints,0,sizeof(struct addrinfo));                  
        hints.ai_family = AF_INET;                                 
        hints.ai_socktype = SOCK_STREAM;                           
        if((rc=getaddrinfo(argv[1],NULL,&hints,&listp))!=0){       
        //Get a list of addrinfo records                                       
        memset(&hints,0,sizeof(struct addrinfo));                              
        hints.ai_family = AF_INET;                                             
        hints.ai_socktype = SOCK_STREAM;                                       
        if((rc=getaddrinfo(argv[1],NULL,&hints,&listp))!=0){                   
            fprintf(stderr, "getaddrinfo error: %s\n",gai_strerror(rc));       
            exit(1);                                                           
        }                                                                      
                                                                               
        // Walk the list and display each IP address                           
        flags = NI_NUMERICHOST;                                                
        for(p=listp;p;p=p->ai_next){                                           
            getnameinfo(p->ai_addr,p->ai_addrlen, buf, MAXLINE,NULL,0,flags);  
            printf("%s\n",buf);                                                
        }                                                                      
        freeaddrinfo(listp);                                                   
        exit(0);                                                               
    }           
    
    [root@f3c6f9f95723 inet]# ./hostinfo www.baidu.com
    14.215.177.38
    14.215.177.39
    [root@f3c6f9f95723 inet]# ./hostinfo www.ustc.edu.cn
    218.22.21.21
    

    相关文章

      网友评论

          本文标题:网络socket

          本文链接:https://www.haomeiwen.com/subject/edcdiqtx.html