news 2026/6/24 3:42:50

Socket 编程利器:深入解析 `inet_pton` 函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Socket 编程利器:深入解析 `inet_pton` 函数

一、 为什么要用inet_pton

在网络通信中,IP 地址在代码里其实是一个整数(二进制)。

  • 人类视角:点分十进制字符串,例如"192.168.1.1"
  • 机器视角:32位的大端整数,例如0xC0A80101

inet_pton的作用就是充当翻译官:它不仅能把字符串转成整数,还能自动处理字节序(直接转为网络大端序),并且同时支持 IPv4 和 IPv6。

注:函数名中的p代表 Presentation(显示/文本),n代表 Network(网络/数值),to代表转换。


二、 函数解剖室

在使用前,我们需要了解它的详细规格:

头文件

#include<arpa/inet.h>// 这个头文件包含了所有 Socket 核心 API,同时也包含了 sys/socket.h

函数原型

intinet_pton(intaf,constchar*src,void*dst);

参数详解

  1. af(Address Family):协议族。
    • AF_INET:表示 IPv4。
    • AF_INET6:表示 IPv6。
  2. src(Source):传入参数。
    • 指向包含 IP 地址字符串的指针(例如"127.0.0.1")。
    • const修饰,保证函数内部不会修改你的字符串。
  3. dst(Destination):传出参数。
    • 指向一块内存区域,用来存放转换后的结果。
    • 对于 IPv4,通常指向struct sockaddr_in结构体中的sin_addr成员。

返回值(重点!需背诵)

  • 1:成功。
  • 0:输入格式无效(例如传了"192.168.1.999"这种非法 IP)。
  • -1:协议族af不正确(此时会设置errno错误码)。

三、 代码实战 1:标准 IPv4 转换

我们来看一个最典型的用法:将字符串写入到套接字地址结构体中。

代码 (ipv4_convert.c)
#include<stdio.h>#include<stdlib.h>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 4:27:57

OCR识别准确率提升:CRNN后处理算法详解

OCR识别准确率提升&#xff1a;CRNN后处理算法详解 &#x1f4d6; 技术背景与问题提出 光学字符识别&#xff08;OCR&#xff09;作为连接图像与文本信息的关键技术&#xff0c;广泛应用于文档数字化、票据识别、车牌提取、智能客服等场景。尽管深度学习模型在OCR任务中取得了…

作者头像 李华
网站建设 2026/6/22 12:52:50

新闻媒体应用:从电视画面截取标题文字的OCR技巧

新闻媒体应用&#xff1a;从电视画面截取标题文字的OCR技巧 &#x1f4d6; 技术背景与行业痛点 在新闻媒体自动化处理流程中&#xff0c;从电视直播或录播画面中提取关键信息是一项高频且高价值的需求。例如&#xff0c;实时抓取新闻节目中的字幕标题、财经频道滚动播报的股票信…

作者头像 李华
网站建设 2026/6/23 2:36:33

AI安全风暴将至:企业智能时代九大网络安全威胁全景解析与前瞻防御

当人工智能&#xff08;AI&#xff09;从技术概念深度融入企业核心业务——从智能决策、客户服务到生产质检、供应链优化&#xff0c;其已成为驱动效率增长的核心引擎。但与此同时&#xff0c;AI系统的“智能化”也催生了新型网络安全风险&#xff1a;训练数据的开放性、模型逻…

作者头像 李华
网站建设 2026/6/15 12:47:25

GenomicSEM终极指南:5天轻松掌握遗传结构方程建模

GenomicSEM终极指南&#xff1a;5天轻松掌握遗传结构方程建模 【免费下载链接】GenomicSEM R-package for structural equation modeling based on GWAS summary data 项目地址: https://gitcode.com/gh_mirrors/ge/GenomicSEM GenomicSEM是一款革命性的R语言包&#xf…

作者头像 李华
网站建设 2026/6/14 1:21:34

QRemeshify完全攻略:快速掌握专业级四边形网格重构技术

QRemeshify完全攻略&#xff1a;快速掌握专业级四边形网格重构技术 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 还在为3D模型拓扑…

作者头像 李华
网站建设 2026/6/13 0:14:02

GenomicSEM实战指南:5步构建遗传结构方程模型解析复杂性状

GenomicSEM实战指南&#xff1a;5步构建遗传结构方程模型解析复杂性状 【免费下载链接】GenomicSEM R-package for structural equation modeling based on GWAS summary data 项目地址: https://gitcode.com/gh_mirrors/ge/GenomicSEM GenomicSEM作为基于GWAS汇总统计数…

作者头像 李华