news 2026/5/1 7:20:12

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/4/29 17:48:58

为什么选择CRNN做OCR?循环网络在序列识别的优势分析

为什么选择CRNN做OCR&#xff1f;循环网络在序列识别的优势分析 &#x1f4d6; OCR 文字识别&#xff1a;从图像到文本的智能桥梁 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;是计算机视觉中最具实用价值的技术之一&#xff0c;其核心任务是从图像…

作者头像 李华
网站建设 2026/5/1 5:56:19

告别快捷键记忆混乱:在VSCode中无缝使用IntelliJ IDEA操作习惯

告别快捷键记忆混乱&#xff1a;在VSCode中无缝使用IntelliJ IDEA操作习惯 【免费下载链接】vscode-intellij-idea-keybindings Port of IntelliJ IDEA key bindings for VS Code. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-intellij-idea-keybindings 还在为…

作者头像 李华
网站建设 2026/4/16 13:03:46

ModelScope环境配置终极指南:从零到一的完整搭建方案

ModelScope环境配置终极指南&#xff1a;从零到一的完整搭建方案 【免费下载链接】modelscope ModelScope: bring the notion of Model-as-a-Service to life. 项目地址: https://gitcode.com/GitHub_Trending/mo/modelscope 想要在本地环境中部署AI模型&#xff0c;却总…

作者头像 李华
网站建设 2026/4/18 23:29:38

CRNN vs Tesseract:两大OCR模型在中文识别上的对决

CRNN vs Tesseract&#xff1a;两大OCR模型在中文识别上的对决 &#x1f4d6; OCR 文字识别&#xff1a;从传统到深度学习的演进 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;是将图像中的文字转换为可编辑文本的关键技术&#xff0c;广泛应用于文…

作者头像 李华
网站建设 2026/4/18 10:29:08

边缘计算安全:关键任务环境中加固型物联网设备的安全防护

随着数字经济与实体经济深度融合&#xff0c;边缘计算作为“数据就近处理”的核心支撑&#xff0c;已全面渗透工业制造、能源电力、智能交通、医疗健康等关键任务领域。加固型物联网设备作为边缘计算的“终端神经末梢”&#xff0c;既要承受极端物理环境的考验&#xff0c;又要…

作者头像 李华
网站建设 2026/4/23 13:11:44

生成模型蒸馏术:快速将Z-Image-Turbo轻量化部署

生成模型蒸馏术&#xff1a;快速将Z-Image-Turbo轻量化部署 为什么需要模型蒸馏&#xff1f; 作为一名移动端工程师&#xff0c;我最近遇到了一个棘手的问题&#xff1a;如何在手机上部署强大的Z-Image-Turbo生成模型。这个模型在PC端表现惊艳&#xff0c;但直接移植到移动设备…

作者头像 李华