判断IP地址的合法性,利用网络套接字相关接口

本文详细解析了如何判断IP地址是否合法,并对比了两种不同的方法:inet_pton与inet_addr,强调了inet_pton在IPv6地址判断上的优势及适用场景。同时,指出inet_addr在特定情况下的局限性。
摘要由CSDN通过智能技术生成


struct sockaddr_in addr4 = {0};

int iRet = inet_pton (AF_INET, "10.166.39.123", &addr4.sin_addr);
if (0 == iRet)
{
   //IP地址非法
}
其实,上面返回值,0,ip地址非法;1,函数inet_pton执行成功;其他,失败

这个方法也比较容易扩展对IPv6地址的判断,

但是不能用在xp及比xp低端系统上,可以用在vstart及比vstart高度系统版本上。



不能使用下面的方法来判断IP地址是否合法
unsigned long ulRet = inet_addr("10.166.39.110");
if (INADDR_NONE == ulRet)
{
//IP地址合法
}
else
{
//IP地址非法
}
因为inet_addr()对  “10.11” 、“255.255.255.255” 这样的ip无法判断是否合法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值