当前位置: 首页 > news >正文

【Linux网络编程】2.套接字、网络字节序、IP地址转换函数

目录

网络套接字

网络字节序

网络字节序和主机字节序的转换

IP地址转换函数

inet_pton

参数af

参数src

参数dst

返回值

inet_ntop

参数af

参数src

参数dst

参数size

返回值

网络套接字

socket,一个文件描述符指向一个套接字,该套接字内部由内核借助两个缓冲区实现。

在通信过程中, 套接字一定是成对出现的

网络字节序

小端法:PC本地存储。高位存高地址。低位存低地址。

大端法:网络存储。高位存低地址。低位存高地址。

网络字节序和主机字节序的转换

#include <arpa/inet.h>uint32_t htonl(uint32_t hostlong);		//本地IP转网络IP
uint16_t htons(uint16_t hostshort);		//本地端口转网络端口
uint32_t ntohl(uint32_t netlong);		//网络IP转本地IP
uint16_t ntohs(uint16_t netshort);		//网络端口转本地端口
man htonl

IP地址转换函数

inet_pton

点分式的十进制本地IP地址转换为网络字节序的IP地址。

man inet_pton

参数af

AF_INET:IPv4

AF_INET6:IPv6

参数src

传入参数,点分十进制的IP地址。

参数dst

传出参数,转换后的网络字节序的IP地址。

返回值

成功:1

异常:0,参数src不是有效的IP地址。

失败:-1

inet_ntop

网络字节序的IP地址转换为点分式的十进制本地IP地址。

man inet_ntop

参数af

AF_INET:IPv4

AF_INET6:IPv6

参数src

网络字节序的IP地址。

参数dst

本地字节序IP地址,字符串类型。

参数size

参数dst的大小。

返回值

成功:返回dst。

失败:NULL。

http://www.lryc.cn/news/341363.html

相关文章:

  • 代码签名证书的工作原理和申请流程
  • Python中的yield
  • 【Linux】基于 Jenkins+shell 实现更新服务所需文件 -->两种方式:ssh/Ansible
  • 5月4(信息差)
  • 【Spring】1.Spring中IOC与DI全解析
  • vue2迁移到vue3,v-model的调整
  • 【C语言】解决不同场景字符串问题:巧妙运用字符串函数
  • android 如何显示网络地址对应的图片
  • 【项目学习01_2024.05.02_Day04】
  • Android SQLite中的UNIQUE constraint failed错误
  • 嘴尚绝卤味:传承经典,缔造美食新风尚
  • Docker 入门与实践:从零开始构建容器化应用环境
  • C# 用户控件UserControl事件解绑资源释放
  • QT-QTCreator环境配置
  • 最大连续和
  • 分布式系统事务一致性解决方案(基于事务消息)
  • Unity Animation--动画剪辑
  • 如何将 redis 快速部署为 docker 容器?
  • iOS - Undefined symbols: 解决方法
  • 优化理论复习——(三)
  • RK3568笔记二十四:基于Flask的网页监控系统
  • [Django 0-1] Core.Serializers 模块
  • 鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的
  • Linux 进程间通信之匿名管道
  • 数据结构与算法学习笔记六--数组和广义表(C语言)
  • 图搜索算法详解
  • 安卓中常见的UI控件
  • 基于Labelme的背部穴位关键点制作
  • go-mysql-transfer 同步数据到es
  • 外包干了3天,技术就明显退步了。。。。。