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



做網(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)過inet_addr處理過的IP,為unsigned long(DWORD)

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

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è)分別打開來判斷下結(jié)果是否正確,這里給出運(yùn)行的結(jié)果,有圖有真相
編譯的命令再說下吧,怕有人不知道
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è)別名,將所有別名分別打出來 */ 
    for(pptr = hptr->h_aliases; *pptr != NULL; pptr++)
        printf("  alias:%s\n",*pptr);

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

            /* 將剛才得到的所有地址都打出來。其中調(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 大寶天天見 閱讀(1158) 評(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>
            欧美久久影院| 欧美一区二区三区的| 制服丝袜激情欧洲亚洲| 国产精品美女久久| 久久久青草婷婷精品综合日韩| 欧美一区二区网站| 亚洲国产视频一区二区| 亚洲免费av电影| 国产精品三上| 免费成人美女女| 欧美连裤袜在线视频| 午夜精品福利在线| 久久国产天堂福利天堂| 亚洲国内精品在线| 欧美女人交a| 欧美亚洲三区| 久久综合久久综合九色| 一本色道久久综合狠狠躁篇的优点 | 亚洲美女av电影| 国产精品无人区| 美国十次成人| 欧美视频精品一区| 久久久久久久国产| 欧美激情综合| 欧美在线看片| 欧美成人激情视频| 小黄鸭精品aⅴ导航网站入口| 久久精品国产免费看久久精品| 亚洲精品乱码久久久久久蜜桃91| 在线亚洲欧美专区二区| 激情欧美一区| 9色精品在线| 久久久久久夜| 悠悠资源网亚洲青| 欧美一区二区三区四区在线| 久久婷婷色综合| 亚洲综合三区| 老牛嫩草一区二区三区日本| 欧美日韩中文字幕精品| 一区二区三区在线免费观看| 亚洲免费精彩视频| 黄色成人av网站| 一本色道久久综合亚洲精品按摩| 狠狠色狠狠色综合日日tαg| 亚洲免费成人av| 在线观看国产日韩| 亚洲一区www| 国产精品欧美激情| 欧美成人按摩| 国产欧美二区| 亚洲理论在线观看| 亚洲国产99精品国自产| 亚洲免费一在线| 99精品久久久| 久久久久综合一区二区三区| 亚洲欧美中文另类| 亚洲国产成人在线播放| 欧美视频四区| 亚洲第一精品久久忘忧草社区| 国产欧美日韩伦理| 日韩视频在线免费观看| 1204国产成人精品视频| 亚洲欧美综合| 亚洲一区二区四区| 欧美人体xx| 欧美国产激情| 激情另类综合| 亚洲欧美国产精品桃花| 亚洲深夜影院| 欧美激情片在线观看| 亚洲裸体俱乐部裸体舞表演av| 久久福利一区| 久久国产视频网| 国产精品一区一区三区| 亚洲最快最全在线视频| 亚洲精品一区二区网址| 夜夜狂射影院欧美极品| 亚洲精品1区2区| 久久久久久久综合色一本| 欧美专区在线观看一区| 国产精品久久久久久超碰| 亚洲精品乱码久久久久久蜜桃91| 亚洲国产精品va在线看黑人动漫 | 黄色工厂这里只有精品| 亚洲一区二区欧美| 亚洲天堂av在线免费观看| 欧美激情综合网| 亚洲国产精品黑人久久久| 在线观看视频一区二区| 久久精品亚洲乱码伦伦中文 | 欧美丰满少妇xxxbbb| 欧美成人免费网站| 伊人久久婷婷色综合98网| 欧美在线亚洲一区| 国产精品久久毛片a| 久久国产天堂福利天堂| 国产精品一区一区| 亚洲欧美日韩第一区| 香蕉久久夜色| 国产美女精品一区二区三区| 在线亚洲一区二区| 在线播放国产一区中文字幕剧情欧美 | 亚洲欧美一区二区三区极速播放| 亚洲欧美精品一区| 国产精品久久久一区二区三区| 亚洲视频电影图片偷拍一区| 亚洲伊人第一页| 亚洲高清av| 亚洲国内高清视频| 欧美黄色大片网站| 亚洲精品一区在线| 欧美777四色影视在线| 久久国产精品电影| 国产情侣一区| 久久er99精品| 久久综合电影| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲精品美女久久久久| 欧美成人午夜激情| 亚洲精品一区在线观看香蕉| 一区二区av在线| 欧美性感一类影片在线播放| 亚洲视频在线观看免费| 在线精品一区| 美女在线一区二区| 91久久精品一区二区三区| 日韩午夜中文字幕| 欧美午夜国产| 亚洲综合三区| 久久女同精品一区二区| 在线观看欧美日本| 欧美精品v日韩精品v国产精品| 日韩亚洲视频在线| 国产视频观看一区| 亚洲精选视频在线| 欧美亚洲综合在线| 加勒比av一区二区| 欧美国产日韩一区二区在线观看| 亚洲精品欧洲精品| 性欧美大战久久久久久久免费观看| 国产性天天综合网| 巨乳诱惑日韩免费av| 亚洲日本视频| 欧美一区二区福利在线| 激情伊人五月天久久综合| 亚洲一卡二卡三卡四卡五卡| 国产精品久久| 久久国产加勒比精品无码| 欧美高清在线一区| 亚洲男人影院| 极品少妇一区二区| 欧美喷潮久久久xxxxx| 亚洲欧美精品一区| 欧美刺激性大交免费视频| 亚洲调教视频在线观看| 男女精品视频| 一本色道久久综合亚洲精品婷婷 | a91a精品视频在线观看| 久久国产精品99精品国产| 亚洲人妖在线| 国产精品视频午夜| 久久综合久久美利坚合众国| 亚洲视频www| 欧美国产日韩一区二区三区| 国产精品va在线播放我和闺蜜| 亚洲自拍偷拍网址| 欧美激情亚洲国产| 欧美亚洲在线视频| 亚洲精品韩国| 国产视频一区二区在线观看| 欧美成人视屏| 欧美在线三级| 日韩一级二级三级| 欧美成人精品激情在线观看| 亚洲欧美日韩精品| 亚洲人成久久| 国产一区二区三区在线观看免费 | 久久久在线视频| 一区二区三区免费看| 欧美v亚洲v综合ⅴ国产v| 香蕉av777xxx色综合一区| 国产欧美日韩亚洲精品| 欧美成人亚洲成人| 亚洲欧美日韩一区在线观看| 亚洲国产精品va| 国产日韩欧美精品在线| 欧美一区二区免费视频| 亚洲久久视频| 免费观看久久久4p| 欧美在线一二三四区| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美久久电影| 久久一区精品| 欧美一级片一区| 亚洲无毛电影| 亚洲免费观看| 日韩午夜在线观看视频| 欧美日韩一区二区在线视频| 日韩亚洲欧美在线观看| 亚洲第一毛片|