当前位置: 首页 > news >正文

小语种网站开发/西安企业seo

小语种网站开发,西安企业seo,dw网页制作知识点,品牌设计工作内容本文摘自:http://blog.163.com/lyzaily126/blog/static/42438837200910173105834/ 将域名地址转换成IP地址有一个好处,就是我们的服务器的域名一般不会变化,但是与之对应的IP地址会因为各种原因常常需要更改,比如&#x…

本文摘自:http://blog.163.com/lyzaily@126/blog/static/42438837200910173105834/

        将域名地址转换成IP地址有一个好处,就是我们的服务器的域名一般不会变化,但是与之对应的IP地址会因为各种原因常常需要更改,比如:服务器搬迁。如果我们将IP硬编码进去代码中,则随着IP的变化要不停的取该源码,这是无法容忍的。所有我们要将域名硬编码进源代码,并通过一些方法将域名转换成服务器的IP。

给出我写的代码片段:

/**
 
struct  in_addr  inAddr;
 char host_name[256];
 char* IPtr = NULL;
 char  IPBuff[16];
 int err;
 int iMode;
 
 wVersionRequested = MAKEWORD( 2, 2 );
 
 err = WSAStartup( wVersionRequested, &wsaData );
 if ( err != 0 ) {
  return bRet;
 }
 

 if ( LOBYTE( wsaData.wVersion ) != 1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) {
  WSACleanup( );
  return bRet; 
 }

 s_socketStatus.m_hsocket = socket(AF_INET,SOCK_STREAM,0);

 if( INVALID_SOCKET == s_socketStatus.m_hsocket )
 {
  WSACleanup( );
  return bRet;
 }
 
 //get remote sever address
 memset(host_name,0,sizeof(host_name));
 wcstombs(host_name,REMOTE_HOST_NAME,sizeof(host_name));
 remoteHost = gethostbyname(host_name);
 memmove(&inAddr,remoteHost->h_addr_list[0],4);
 IPtr = inet_ntoa(inAddr);
 memset(IPBuff,0,sizeof(IPBuff));
 memcpy(IPBuff,IPtr,strlen(IPtr));

 //-------------------------
 // Set the socket I/O mode: In this case FIONBIO
 // enables or disables the blocking mode for the 
 // socket based on the numerical value of iMode.
 // If iMode = 0, blocking is enabled; 
 // If iMode != 0, non-blocking mode is enabled.
    iMode = 1;
 ioctlsocket(s_socketStatus.m_hsocket,FIONBIO,(u_long FAR*) &iMode);

    s_socketStatus.m_isConnected = TRUE;
    sockClient = s_socketStatus.m_hsocket;

 addrSrv.sin_addr.S_un.S_addr=inet_addr(IPBuff);
 addrSrv.sin_family=AF_INET;
 addrSrv.sin_port=htons(6000);
 connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

 return TRUE;
 
}

这里涉及到几个重要的socket函数:

     

(1)、

       通过域名获得对应的IP:

       struct hostent FAR* gethostbyname(

                    const char FAR* name        //服务器的域名字符串

            );

(2)、

          将gethostbyname获得的IP转换成以点分的IP字符串:

            char FAR* inet_ntoa(

                   struct in_addr in                  //gethostbyname()返回的内容

              );

 

(3)、

        将点分的IP字符串转换成合适的IP值:

            unsigned long inet_addr( const char FAR* cp);

 

具体详情请自己查阅MSDN,msdn是个好东西!

http://www.jmfq.cn/news/5143699.html

相关文章:

  • 做网站前途如何/互联网推广招聘
  • 上海服装集团网站建设/哈尔滨网络seo公司
  • 有哪些网站可以做店面设计/企业营销案例
  • 公司网站工程案例怎么做/下载安装
  • adobe网站制作/人大常委会委员长
  • 政府 网站建设规划/全媒体广告投放平台
  • 个人站长网站需要注册公司吗/外贸网站大全
  • 苏华建设集团网站/aso优化榜单
  • 网站数据库到期/关键词优化教程
  • 珠海网站建设电话/网站制作公司
  • 哪个网站做的w7系统好/查指数
  • wordpress+相亲主题/宁波网站推广优化公司电话
  • 贵阳有没有网站建设公司/百度指数在线查询小程序
  • joomla 做外贸网站 好的/seo优化的方法
  • 爱疯卷网站怎么做/百度快速收录网站
  • 网站上名片如何做/微友圈推广平台怎么加入
  • 佛山手机网站建设公司/口碑营销案例ppt
  • 巩义自助建站优化/百度关键词排名怎么靠前
  • 做网站的又营业执照的吗/关键词优化公司排行
  • 南阳注册公司/seo的概念是什么
  • 网站设置了字体为黑体怎么改字体/seo英文全称
  • 计算机做网站开发需要什么证书/微营销官网
  • 茂名模板建站定制/电脑培训学校课程
  • 企业网站建设58同城/sem推广计划
  • 临沧市住房和城乡建设局网站/网络营销品牌策划
  • 重庆网站推广产品/做网站找哪家好
  • 临沭做网站/电商平台运营
  • 东明网站建设推广/南宁网站建设网络公司
  • 专业手机网站建设设计/软文推广媒体
  • 威海做企业网站的公司/南昌搜索引擎优化