青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品



做網(wǎng)絡(luò)模塊的時(shí)候經(jīng)常會(huì)遇到有關(guān)網(wǎng)址的處理.一般大致的情形是3種:

1.得到的是域名,如:www.3322.org

2.得到的是實(shí)際的IP地址,如:61.160.235.203

3.得到的是經(jīng)過(guò)inet_addr處理過(guò)的IP,為unsigned long(DWORD)

一.那么如果是給出點(diǎn)分制的IP要轉(zhuǎn)為DWORD型是如何轉(zhuǎn)化呢?這個(gè)其實(shí)最簡(jiǎn)單,有專門(mén)的函數(shù)專門(mén)處理此事

unsigned long dwIP = inet_addr("222.212.12.77");
printf("IP(%s)->DWORD(%lu)\n");

//output
IP(222.212.12.77)->DWORD(1292686558)

二.第一種情況的逆轉(zhuǎn)化

#include <stdio.h>
#include <stdlib.h>
#include <sys/select.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>

int main(int argc, char *argv[])
{
	struct in_addr net;
	char tmp[16] = {0};

	if(argc != 3)
	{
		printf("You MUST enter 3 varibal.No.1:func name No.2:case.No.3:ip(string or DWORD)\n");
		return 0;
	}

	if(strcmp("1", argv[1]) == 0) 
	{
		char* ip_string;
		ip_string = argv[2];
		unsigned long dword = inet_addr(ip_string);

		printf("IP(%s)-->DWORD(%lu)\n", ip_string, dword);
	}
	else if(strcmp("2", argv[1]) == 0)
	{
		net.s_addr = (unsigned long)atol(argv[2]);
		strcpy(tmp, inet_ntoa(net));
		printf("DWORD(%s)-->IP(%s)\n",argv[2], tmp);
	}
	return 0;
}
這里給出一個(gè)點(diǎn)分制IP和DWORD相互轉(zhuǎn)化的程序
三.如果給出的是域名而想得到點(diǎn)分制的IP呢?
這里給出一個(gè)接口,支持輸入的類型是點(diǎn)分制和域名2中類型,返回的是DWORD型的IP
有一點(diǎn)要聲明的是gethostbyname這個(gè)函數(shù)必須在網(wǎng)絡(luò)連通的情況下才能正確完成域名的解析,你想,連個(gè)網(wǎng)都不通,它怎么解析?
#include <stdio.h>
#include <stdlib.h>
#include <sys/select.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>


#define DWORD unsigned long

DWORD platform_domain2ip(const char *szDomain, char *szDotNumIP)
{
	char szAddr[32] = {0};
	struct hostent *pHost;

	printf("input domain name(%s)\n", szDomain);
	

	if((pHost = gethostbyname(szDomain)) == NULL)
	{
		printf("can not parse domain\n");
		return -1;
	}
	printf("HostName :%s\n",pHost->h_name);
	strcpy(szAddr, inet_ntoa(*((struct in_addr *)pHost->h_addr)));
	printf("IP Address :%s\n", szAddr);
	strcpy(szDotNumIP, szAddr);

	return inet_addr(szAddr);
}

int main(int argc, char *argv[])
{
	DWORD dwip;
	char *ip = malloc(32);
	//dwip = platform_domain2ip("www.3322.org", ip);
	dwip = platform_domain2ip("61.160.235.203", ip);
	printf("ip 1 (%s) 2 dw(%lu)\n", ip, dwip);
	return 0;
}
//可以將main的注冊(cè)分別打開(kāi)來(lái)判斷下結(jié)果是否正確,這里給出運(yùn)行的結(jié)果,有圖有真相
編譯的命令再說(shuō)下吧,怕有人不知道
gcc gethost.c –Wall –o gethost//在linux下
arm-hismall-linux-gcc gethost.c –Wall –o gethost//嵌入式環(huán)境下
 
此接口已經(jīng)在我的工程中使用,在平臺(tái)IP的解析和3322的解析中得到了應(yīng)用,所以是穩(wěn)定可行的.
這3中IP的轉(zhuǎn)化都了解了的話,那么網(wǎng)絡(luò)編程不就掃除了一個(gè)大石頭嗎?呵呵,大家功能進(jìn)步
 
網(wǎng)上比較流行的gethostbyname的例子如下,受到了啟發(fā)
#include <stdio.h>
#include <stdlib.h>
#include <sys/select.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>

int main(int argc, char **argv)
{
    char *ptr,**pptr;
    struct hostent *hptr;
    char str[32];

    /* 取得命令后第一個(gè)參數(shù),即要解析的域名或主機(jī)名 */ 
    ptr = argv[1];

    /* 調(diào)用gethostbyname()。調(diào)用結(jié)果都存在hptr中 */ 
    if((hptr = gethostbyname(ptr)) == NULL)
    {
        printf("gethostbyname error for host:%s\n", ptr);
        return 1; /* 如果調(diào)用gethostbyname發(fā)生錯(cuò)誤,返回1 */
    }

     
    printf("official hostname:%s\n",hptr->h_name);

    /* 主機(jī)可能有多個(gè)別名,將所有別名分別打出來(lái) */ 
    for(pptr = hptr->h_aliases; *pptr != NULL; pptr++)
        printf("  alias:%s\n",*pptr);

    /* 根據(jù)地址類型,將地址打出來(lái) */
    switch(hptr->h_addrtype)
    {
        case AF_INET:
        case AF_INET6:
            pptr=hptr->h_addr_list;

            /* 將剛才得到的所有地址都打出來(lái)。其中調(diào)用了inet_ntop()函數(shù)*/
            for(;*pptr!=NULL;pptr++)
            printf("  address:%s\n", inet_ntop(hptr->h_addrtype,*pptr, str, sizeof(str)));
        break;
        default:
            printf("unknown address type\n");
        break;
    }

    return 0;
}

posted on 2011-06-27 17:46 大寶天天見(jiàn) 閱讀(1144) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 2.C/C++/C#/Java
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩亚洲| 欧美中文字幕第一页| 欧美精品啪啪| 久久久噜噜噜久久中文字免| 亚洲自拍偷拍一区| 亚洲一区中文字幕在线观看| 一区二区免费在线视频| 9久草视频在线视频精品| 亚洲黄色免费| 麻豆国产精品777777在线| 久久激情一区| 久久久www成人免费精品| 久久精品观看| 免费影视亚洲| 亚洲看片一区| 午夜亚洲视频| 欧美www在线| 国产精品视频一| 在线成人av网站| 中国成人黄色视屏| 久久视频在线看| 日韩一级大片在线| 久久黄色影院| 欧美日韩亚洲激情| 有码中文亚洲精品| 亚洲欧美日韩国产| 久久综合综合久久综合| 亚洲精品一二三| 久久人人97超碰精品888 | 久久久久久久久久久久久9999| 久久嫩草精品久久久久| 一区二区三区成人| 亚洲福利一区| 久久免费视频在线观看| 欧美专区在线播放| 中文日韩在线视频| 欧美激情一区三区| 欧美日韩高清在线| 欧美日韩另类视频| 一区二区三区日韩欧美精品| 一二三区精品福利视频| 9色porny自拍视频一区二区| 亚洲乱码日产精品bd| 一区二区三区日韩欧美| 亚洲嫩草精品久久| 欧美一区二区免费| 久久亚洲捆绑美女| 欧美激情视频给我| 国产精品久久久久高潮| 欧美高清视频一区| 亚洲欧美成人精品| 欧美福利一区| 免费日本视频一区| 牛牛影视久久网| 亚洲精品在线视频| 久久久天天操| 久久精品国产96久久久香蕉| 亚洲欧美www| 亚洲欧美三级伦理| 亚洲性感激情| 一区二区电影免费在线观看| 亚洲国产欧美精品| 欧美日韩综合视频| 欧美日韩不卡合集视频| 久久亚洲国产精品日日av夜夜| 美国成人直播| 久久精品观看| 久久精品亚洲精品| 久久亚洲国产成人| 美女视频黄a大片欧美| 久久天天躁夜夜躁狠狠躁2022| 亚洲视频精品在线| 亚洲第一黄色| 99国内精品久久| 夜夜嗨av色综合久久久综合网| 新片速递亚洲合集欧美合集| 午夜精品久久久久| 中国日韩欧美久久久久久久久| 亚洲一区日本| 亚洲欧美一区二区三区久久| 欧美一级电影久久| 亚洲——在线| 欧美亚洲三区| 久久一区免费| 欧美韩日视频| 99精品福利视频| 亚洲区一区二| 国产日韩欧美二区| 亚洲精品美女久久久久| aa成人免费视频| 久久精品夜色噜噜亚洲a∨| 欧美国产高清| 欧美一区二区三区婷婷月色| 欧美三级视频| 9色精品在线| 亚洲欧洲在线播放| 亚洲影院色无极综合| 亚洲国产你懂的| 亚洲欧美精品在线观看| 蜜桃伊人久久| 国产日韩精品入口| 亚洲精品乱码久久久久| 一区久久精品| 亚洲一区免费网站| 国产精品乱人伦一区二区 | 欧美日韩不卡| 亚洲精品美女在线观看播放| 久久综合九色综合久99| 久久天堂精品| 久久精品动漫| 激情欧美一区| 免费毛片一区二区三区久久久| 久久激情五月激情| 久久夜色精品国产欧美乱极品| 狠色狠色综合久久| 久久免费视频这里只有精品| 久久精品最新地址| 欧美韩日一区二区三区| 一区二区精品国产| 亚洲手机在线| 国产在线拍偷自揄拍精品| 老巨人导航500精品| 欧美成人黄色小视频| 日韩亚洲在线观看| 欧美一区二区免费视频| 欧美影院久久久| 亚洲国产欧美国产综合一区| 亚洲人精品午夜| 欧美在线观看视频在线| 久久亚洲国产成人| 黄色成人av网| 久久蜜桃资源一区二区老牛| 午夜精品视频一区| 国产麻豆9l精品三级站| 亚洲丰满少妇videoshd| 久久久国产视频91| 亚洲精品乱码久久久久久黑人| 欧美激情在线播放| 欧美午夜久久久| 久久大香伊蕉在人线观看热2| 久久久精品性| 一本到高清视频免费精品| 亚洲图片你懂的| 在线日本欧美| 亚洲欧洲一区| 国产自产女人91一区在线观看| 亚洲高清av在线| 亚洲欧美一区二区激情| 亚洲国产精品久久久久秋霞蜜臀| a4yy欧美一区二区三区| 久热国产精品| 国内自拍一区| 欧美国产日韩视频| 国产亚洲欧美激情| 欧美激情91| 国产一区视频在线观看免费| 亚洲欧洲精品一区二区精品久久久| 欧美性淫爽ww久久久久无| 欧美凹凸一区二区三区视频| 国产精品二区在线| 91久久亚洲| 精品9999| 欧美日韩国产限制| 欧美性猛交xxxx乱大交退制版| 亚洲黄色在线视频| 亚洲看片一区| 国产精品久久久久秋霞鲁丝 | 欧美日韩理论| 久久综合国产精品| 国产精品午夜在线观看| 亚洲香蕉在线观看| 亚洲曰本av电影| 国产女主播一区二区三区| 欧美不卡高清| 欧美激情第10页| 欧美专区在线| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲精品一区二区三区樱花| 午夜亚洲一区| 亚洲欧美日韩高清| 欧美日本韩国| 最新亚洲激情| 99精品久久免费看蜜臀剧情介绍| 久久亚洲影音av资源网| 麻豆精品国产91久久久久久| 国产精品乱子久久久久| 狂野欧美一区| 你懂的国产精品| 在线不卡a资源高清| 欧美在线综合视频| 老牛影视一区二区三区| 亚洲国产精品女人久久久| 美女久久网站| 亚洲精品一区二区三| 亚洲毛片在线免费观看| 欧美激情五月| 日韩午夜中文字幕| 亚洲一区三区视频在线观看| 欧美午夜宅男影院| 欧美福利一区二区三区|