news 2026/5/31 0:41:07

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/5/31 0:40:36

彻底革新跨语言邮件体验:kiss-translator智能翻译进阶指南

彻底革新跨语言邮件体验&#xff1a;kiss-translator智能翻译进阶指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode…

作者头像 李华
网站建设 2026/5/28 21:51:02

低成本创业:基于阿里通义Z-Image-Turbo的个性化明信片生成服务

低成本创业&#xff1a;基于阿里通义Z-Image-Turbo的个性化明信片生成服务 作为一名刚起步的创业者&#xff0c;小林最近萌生了一个创意&#xff1a;提供个性化明信片定制服务。但当她调研技术方案时&#xff0c;发现专业GPU服务器的高昂成本让人望而却步。幸运的是&#xff0c…

作者头像 李华
网站建设 2026/5/28 14:40:41

产品经理必看:如何用现成环境一天完成AI视觉方案POC

产品经理必看&#xff1a;如何用现成环境一天完成AI视觉方案POC 为什么你需要现成的AI视觉环境 作为产品经理&#xff0c;当你需要在24小时内评估多个图像理解模型在智能相册中的应用时&#xff0c;最头疼的往往不是模型选择&#xff0c;而是环境搭建。传统方式下&#xff0c;光…

作者头像 李华
网站建设 2026/5/28 20:27:41

BongoCat桌面伴侣终极玩法:让呆萌猫咪陪你敲代码打游戏

BongoCat桌面伴侣终极玩法&#xff1a;让呆萌猫咪陪你敲代码打游戏 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作&#xff0c;每一次输入都充满趣味与活力&#xff01; 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 还在为…

作者头像 李华
网站建设 2026/5/28 18:39:22

JPEGsnoop终极指南:5步轻松掌握专业图像分析

JPEGsnoop终极指南&#xff1a;5步轻松掌握专业图像分析 【免费下载链接】JPEGsnoop JPEGsnoop: JPEG decoder and detailed analysis 项目地址: https://gitcode.com/gh_mirrors/jp/JPEGsnoop 想要深入了解JPEG图像内部结构吗&#xff1f;JPEGsnoop就是你的专业助手&am…

作者头像 李华
网站建设 2026/5/28 22:58:37

CRNN OCR高并发处理:应对大规模识别需求的策略

CRNN OCR高并发处理&#xff1a;应对大规模识别需求的策略 &#x1f4d6; 项目简介 在数字化转型加速的今天&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术已成为信息自动化提取的核心工具。从发票扫描到文档归档&#xff0c;从车牌识别到手写笔记转录&#xff0c;O…

作者头像 李华