嵌入式 整型ip与点式ip互相转换

原创 2013年12月02日 14:56:45

字符串ip转换为整型ip

 char hostname[128];
 int block_time = 1;
 char *jms_ip = "10.10.2.59";
 struct sockaddr_in jms;
 JOSEPH_JMS_SERVER_T jms_server_info;
 interface_t ipnc_interface_t;
 
 strcpy(hostname,"time.asia.apple.com");
 jms_server_info.jms_port = 1999;

 inet_aton(jms_ip, (struct in_addr *)&jms.sin_addr.s_addr);
 jms_server_info.jms_ip =jms.sin_addr.s_addr;

 

 

整型ip转换为字符串IP

 char jms_port_info[64] = {0};
 char jms_ip_info[128] = {0};
 struct sockaddr_in jms_server_info;
 bzero(&jms_server_info,sizeof(jms_server_info));
 jms_server_info.sin_family = AF_INET;
 jms_server_info.sin_port =jms_server_in->jms_port;
 jms_server_info.sin_addr.s_addr =jms_server_in->jms_ip;

 sprintf(jms_ip_info,"%s",inet_ntoa(jms_server_info.sin_addr));
 sprintf(jms_port_info,"%d",jms_server_info.sin_port);
 printf("%s %d jms_ip_info is %s ;jms_port_info is%s \n",__FUNCTION__,__LINE__,jms_ip_info,jms_port_info);

 

 

 

 int sockfd,tmp;
 struct sockaddr_indest;
 char buf[512];
 struct in_addr in;
 int retry = 6;
 if ((sockfd = socket(AF_INET, SOCK_STREAM,IPPROTO_IP)) < 0) {
        perror("Socket");
        return -2;
    }
   bzero(&dest, sizeof(dest));
    dest.sin_family = AF_INET;
    dest.sin_port = port;
 dest.sin_addr.s_addr = ip;

 
  printf("connecting to %s %d\n",inet_ntoa(dest.sin_addr),ntohs(dest.sin_port));

  tmp = connect(sockfd,(struct sockaddr *) &dest, sizeof(dest));
  if (tmp != 0) {
   close(sockfd);
   printf("server%s %d connect err!!!\n",inet_ntoa(dest.sin_addr),ntohs(dest.sin_port));
   return-3;
     }else{
      
      printf("server %s %dconnected\n",inet_ntoa(dest.sin_addr),ntohs(dest.sin_port));
     }
  
 return sockfd;

 

 

 struct sockaddr_in jdas;
 SOCK_ADDR jrm;
 void *ret; 
 jdas.sin_port = htons(atoi(jdas_port));
 inet_aton(jdas_ip, (struct in_addr *)&jdas.sin_addr.s_addr);

IP从整型地址转换为点分形式

题目描述: 通常我们在存储IPv4地址的时候不会直接使用字符串,例如192.168.1.1,我们不用“192.168.1.1”这个字符串来存储,而是将这个IP地址转换为一个无符号整数,因为一个IP...
  • yums467
  • yums467
  • 2016年09月27日 13:39
  • 1442

IP地址点分十进制与网络字节序整数的转化

博客http://blog.csdn.net/unimen/article/details/6844456给出相关实现,我根据C库的代码,也给出一个: #include #include #...
  • cbmsft
  • cbmsft
  • 2013年01月28日 19:56
  • 8257

C语言实现字符串IP与整数型IP的相互转换

#include #include #include #include int main(int argc,char *argv[]) { const char *ip ="192.16...
  • u010003119
  • u010003119
  • 2014年09月07日 17:22
  • 3356

浅谈PHP中IP与整型互相转换

IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,i...
  • lxf0613050210
  • lxf0613050210
  • 2016年01月31日 17:14
  • 108

浅谈PHP中IP与整型互相转换

IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,i...
  • czfphper
  • czfphper
  • 2015年10月20日 11:10
  • 151

ip数据库(长整型)最新转换

  • 2008年09月05日 13:53
  • 4.52MB
  • 下载

IP点分十六进制整型转换

  • 2014年04月18日 15:30
  • 43KB
  • 下载

嵌入式 LinuxC如何打印64bit的longlong整型int64_t

64位无符号整型打印方式: #include   unsigned long long ll=0x9102928374747474;  void main()  {           prin...
  • skdkjxy
  • skdkjxy
  • 2013年12月27日 10:51
  • 884

嵌入式 Linux C如何打印64bit的longlong整型int64_t

64位无符号整型打印方式: #include  unsigned long long ll=0x9102928374747474;  void main()  {          ...
  • junmuzi
  • junmuzi
  • 2014年03月19日 22:42
  • 2443

Linux环境下点分十进制和整型IP间的相互转换

本文介绍Linux环境下使用Unix网络编程实现点分十进制和整型ip地址间的相互转换,以及那些应该规避的问题。 先从示例代码讲起: //输入点分十进制的IP,将其转换成整型后,再反向转换进行验...
  • cjf_wei
  • cjf_wei
  • 2018年01月07日 11:01
  • 49
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 整型ip与点式ip互相转换
举报原因:
原因补充:

(最多只允许输入30个字)