自定义函数代替inet_addr函数把写入ip

简介

进行网络编程的时候,不可避免需要使用struct sockaddr_in结构体,在传统对该结构体里面的ip进行填写的时候,一般使用inet_addr函数,通过模拟inet_addr写出自己的ip填写函数,该自定义函数仅供参考

测试平台

  1. 软件:keil
  2. 芯片:STM32F407
  3. 协议栈: LwIP的tcp/ip

inet_addr使用简介

inet_addr函数使用:

struct sockaddr_in client;
client.sin_addr.s_addr = inet_addr("192.168.10.104");

自定义函数

目前自定义函数只试过用于stm32平台,其他平台有待考究

static u32_t defineFunction(uint8_t ip1,uint8_t ip2,uint8_t ip3,uint8_t ip4)
{
	u32_t retval = 0;
	if( ip1 > 0XFF || ip2 > 0XFF || ip3 > 0XFF || ip4 > 0XFF  ) return -1;
	retval = (ip4 << 24) | ( ip3 << 16) | ( ip2 << 8 ) | ip1;
	printf(" retval : %x\r\n " , retval);
	return retval;
}
client.sin_addr.s_addr = defineFunction(192,168,10,104);
上一篇:python3 安装python-ESL 控制freeswitch


下一篇:Python 获取指定网卡的IP地址