码迷,mamicode.com
首页 > 其他好文 > 详细

小窍门

时间:2015-05-12 08:04:06      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:

如何将域名转化为IP地址
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netdb.h>
#include <netinet/in.h>
#include <string.h>
#include <stdlib.h>
const char *getIPAddrbyHostname(const char *hostname)
{
    static char s[128];
    memset(s, 0, sizeof(s));
    struct hostent *h;
    h = gethostbyname(hostname);
    strcpy(s, inet_ntoa(*((struct in_addr *) h->h_addr)));
    return s;
}
如何将struct sockaddr_in转化为IP地址
const char *getIPAddrbyaddr_in(struct sockaddr_in *client_addr)
{
     return inet_ntoa(client_addr->sin_addr);
}

void sockaddr_toa(const struct sockaddr_in *addr, char *IPAddr)
{
    unsigned char *p = (unsigned char *)&(addr->sin_addr.s_addr);
    sprintf(IPAddr, "%u.%u.%u.%u", p[0], p[1], p[2], p[3]);
}

 

如何得到一个socket自身的sockaddr和socket连接的远端 sockaddr
int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
得到远端sockaddr



int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
得到自身sockaddr

 

 

小窍门

标签:

原文地址:http://www.cnblogs.com/shichuan/p/4496323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!