简介
进行网络编程的时候,不可避免需要使用struct sockaddr_in结构体,在传统对该结构体里面的ip进行填写的时候,一般使用inet_addr函数,通过模拟inet_addr写出自己的ip填写函数,该自定义函数仅供参考
测试平台
- 软件:keil
- 芯片:STM32F407
- 协议栈: 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);