inet_addr 和inet_ntoa函数作用

2023-05-16

我们使用socket进行通信的时候,我们需要指定三个元素:通信域(地址族)、IP地址、端口号,这三个元素由SOCKADDR_IN结构体定义,为了简化编程一般将IP地址设置为INADDR_ANY,如果需要使用特定的IP地址则需要使用inet_addr 和inet_ntoa完成字符串和in_addr结构体的互换,in_addr是SOCKADDR_IN成员,其代表IP地址。

inet_add函数声明如下:

unsigned long inet_addr(const char* cp);

参数:

    cp代表点分十进制的IP地址,如1.2.3.4


inet_ntoa 函数声明如下:

char* inet_ntoa(struct in_addr in);

参数:

    in代码in_addr的结构体,其结构体如下:

struct in_addr 
{
    union 
    {
        struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b;
        struct { USHORT s_w1,s_w2; } S_un_w;
        ULONG S_addr;
    } S_un;
};


函数使用代码如下:

SOCKADDR_IN sock;
sock.sin_family = AF_INET;
//将字符串转换为in_addr类型
sock.sin_addr.S_un.S_addr =  inet_addr("192.168.1.111");
sock.sin_port = htons(5000);

//将in_addr类型转换为字符串
printf("inet_ntoa ip = %s\n",inet_ntoa(sock.sin_addr));

结果输出:

inet_ntoa ip = 192.168.1.111


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

inet_addr 和inet_ntoa函数作用 的相关文章

  • Python中的函数与变量讲解

    不知道大家在学习Python的时候 xff0c 有没有发现一个问题 xff0c 函数里边的变量和脚本里边的变量好像是无关的 本文今天要讲的就是Python中的函数与变量 xff0c 如果大家对于这个方面的内容有困惑 xff0c 不妨来一起学
  • Python+OpenCV静态图像读取与显示_Haar模型实现简单的人脸识别

    目的 xff1a 1 主要是熟悉一下静态图像的读取与显示 xff1b 2 然后了解下基于OpenCV安装目录下haar特征识别人脸区域 人脸特征数据 基于 tengxing007 的博客 xff1a Python 43 OpenCV 实现简
  • 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置

    来源于5iMX论坛的这篇帖子 富斯FS T6 APM飞控两种飞行模式设置方法点击打开链接 但是我按照作者的设置MIX的方法 xff0c 怎么都只有三种通道 先上图吧 xff1a 1 我的混控设置 xff1a OFFSET是偏移量 xff0c
  • Netfilter笔记-02

    Netfilter说白了就是针对不同的协议 xff08 协议类型和hook节点我们上一章已经讲过 xff09 在kernel中放置了不同的hook节点 xff0c 等数据包sk buff xff0c 到来的时候 xff0c 要给hook节点
  • 如何做在短时间内搞定VR交互的核心技能?

    转 http 36kr com p 5056703 html ktm source 61 feed amp from 61 timeline 从平面到空间 xff0c 虚拟现实正在开启一场全新的交互方式的变迁 xff0c 更或者 xff0c
  • 单目视觉的运动目标跟踪定位

    转 http www leiphone com news 201704 z87wjT8j9s94tMnG html 市场上空间定位的技术方案分为单目 双目以及激光雷达三大阵营 xff0c 其中激光雷达由于成本高昂市场接受度较低 xff0c
  • 关于IP地址、网络号、主机号、子网掩码之间的关系

    IP地址类似于我们的身份证号码 国家为了唯一确定我们每个人的身份 xff0c 会为我们每个人分配一个唯一确定身份的号码 xff0c 同理 xff1a 为了确切地标识Internet xff08 互联网 xff09 中的每一台主机和路由器 x
  • Android原生编解码接口 MediaCodec 之——踩坑

    关键帧 MediaCodec 有两种方式触发输出关键帧 xff0c 一是由配置时设置的 KEY FRAME RATE 和KEY I FRAME INTERVAL参数自动触发 xff0c 二是运行过程中通过 setParameters 手动触
  • [xshell6过期解决方案]xshell6评估过期 如何继续使用(亲测有效) 100%成功

    过完年来上班第一天打开xshell提示评估过期了 很是尴尬 搞了老半天才弄好 下面来分享一下我的解决过程 大家严格按照下面的流程走就可以了 基本都可以成功 如果没成功 那一定是你的姿势不对 1 我之前下载的是evaluation版本 xff
  • # Ubuntu 配置自带vnc桌面共享

    Ubuntu 配置自带桌面共享 1 在setting gt gt shareing gt gt remote 选择on 如果用ubunutu直接远程连接的话已经可以了 xff0c 2 在ubuntu下使用系统自带的remmina连接 vnc
  • netconf学习-安装ncclient客户端提示'install_requires'错误

    环境说明 xff08 1 xff09 操作系统 xff1a centos7 7 xff08 2 xff09 python版本 xff1a 2 7 5 问题描述 在学习netconf的时候需要编写netconf自动化 xff0c 此时就需要用
  • Baumer工业相机堡盟工业相机使用BGAPI SDK将图像数据转换为Bitmap的几种方式(C#)(Mono)

    Baumer工业相机堡盟工业相机使用BGAPI SDK将图像数据转换为Bitmap的几种方式 xff08 C xff09 Baumer工业相机Baumer工业相机图像数据转为Bitmap的技术背景Baumer工业相机使用BGAPISDK将图
  • OpenStack版本

    OpenStack的每个主版本系列以字母表顺序 xff08 A Z xff09 命名 xff0c 以年份及当年内的排序做版本号 xff0c 从第一版的Austin xff08 2010 1 xff09 到目前最新的稳定版Liberty xf
  • PX4FLOW光流模块DIY(含部分代码讲解)

    暑假有时间整理一下以前做的东西 xff0c 发发博客 xff0c 既给网友们学习也方便自己交流 今天讲讲我两年前从github学习的PX4FLOW光流模块 光流是视觉导航的重要部分 在运动检测和许多slam技术都使用到了光流 xff0c 但
  • 一路(16)相随,一起(17)前行

    2016年对于楼主来说 xff0c 是艰难的一年 xff0c 也是幸运的一年 xff0c 我想把我的故事说给你听 xff01 迈入IT行业已经快一年了 xff0c 但是实际上真正练习的时间只有仅仅的四个多月 xff0c 之前的专业是电子方面
  • 英文突然间隔变大

    之前总是遇到一个尴尬的问题 xff0c 就是写文档的时候间距突然变大 xff0c 调整段落间距并未没有效果 xff0c 例如这种 xff1a 解决办法 xff1a Shift 43 空格
  • JAVA从入门到精通(2)

    一 Java中的关键字 1 关键字 xff1a 具有一些特殊用途的词 2 注 xff1a 在程序中应用关键词需要慎重 xff01 3 常用的关键词 xff08 举例说明 xff09 interface xff1a 接口 class 类 pu
  • myeclipse闪退的问题

    之前遇到myeclipse的闪退 xff0c 探索了之后 xff0c 找到了方法 xff0c 今天早上又遇到这种问题 xff0c 按照上次的方法尝试是没有问题的 决定和大家分享 删除 workspace xff08 工作空间 xff09 m
  • 【损失函数系列】softmax loss损失函数详解

    1 损失函数 xff1a 损失函数 xff08 loss function xff09 是用来评测模型的预测值f x 与真实值Y的相似程度 xff0c 损失函数越小 xff0c 就代表模型的鲁棒性越好 xff0c 损失函数指导模型学习 根据
  • JAVA从入门到精通(14)-- 包装类

    一 包装类 1 基本数据类型是不具备对象的特征的 xff0c 比如基本数据类型不能调用方法 功能简单 xff0c 为了让基本数据类型具备对象的特性 xff0c Java为每个基本数据类型提供了一个包装类 2 3 包装类主要提供了两大类方法

随机推荐

  • JAVA从入门到精通(16)-- Java版JSON入门

    一 JSON课程介绍 1 JSON是行业内使用最为广泛的数据传输格式 定义 xff1a JSON是一种与开发语言无关的 轻量级的数据格式 全称是JavaScript Object Notation 优点 xff1a 易于人的阅读和编写 xf
  • JAVA从入门到精通(17)-- GSON

    一 GSON介绍 1 介绍 xff1a GSON最早由Google提出的开源的项目 xff0c 主页在github上 xff0c 解析json 二 GSON生成JSON数据 1 加入依赖 xff0c 创建包和类 2 创建Gson对象 Man
  • JAVA从入门到精通(18)-- Servlet

    一 Servlet定义 1 现有JSP还是先有Servlet xff1f 先有的Servlet xff0c 因为JSP的前身就是Servlet 2 定义 xff1a Servlet是在服务器上运行的小程序 一个Servlet就是一个Java
  • pixhawk自学笔记之uorb学习总结

    注 xff1a 这是看过好多文章总结出来的 xff0c 转载了较多人的博客 xff0c 希望有知道原出处的人把地址留下 xff0c 我贴上来 在此谢谢各位前辈的总结 xff08 我会在后续笔记中贴出在我自己的程序中对于uorb的使用 xff
  • pixhawk自学笔记之px4程序启动顺序

    在了解px4启动之前我们需要了解一下bootloader Bootloader是在操作系统内核运行之前运行 xff0c 可以初始化硬件设备 xff0c 建立内存空间映射图等 xff0c 整个系统的加载启动任务就是完全由Bootloader来
  • PID概述以及在无人机中的应用

    PID控制是将误差信号的比例P xff0c 积分I xff0c 微分D通过线性组合构成控制量 xff0c 称之为PID控制 但是在很多情况下 xff0c 往往不一定需要三个单元 xff0c 但是比例单元是必不可少的 PID控制器难点在于参数
  • PID连续控制算法的表达式以及C语言实现

    1 数字 xff08 离散 xff09 PID控制算法的表达式 xff1a 将PID调节器离散化 xff0c 用差分方程来代替连续系统的微分方程 xff0c 分为位置式和增量式两类 重点理解概念如下 xff1a a xff09 基本偏差e
  • 简单常用滤波算法C语言实现

    1 限幅滤波算法 xff08 程序判断滤波算法 xff09 方法解析 xff1a 根据经验判断 xff0c 确定两次采样允许的最大偏差值 xff08 设定为A xff09 xff0c 每次检测到新值时判断 xff1a 如果本次值与上次值之差
  • Nuttx的源码构建和编译

    下载源码 sudo mkdir Nuttx cd Nuttx Nuttx xff1a git clone https bitbucket org nuttx nuttx gitapps xff1a git clone https bitbu
  • ZMQ简介

    ZMQ xff08 MQ ZeroMQ 0MQ xff09 看起来像是一套嵌入式的网络链接库 xff0c 是网络通信中新的一层 xff0c 介于应用层和传输层之间 xff08 按照TCP IP划分 xff09 xff0c 其是一个可伸缩层
  • ubunut安装stlink

    在ubuntu上面的stlink驱动的安装 依赖包的安装 sudo apt get install libusb 1 0sudo apt get install cmakesudo apt get install libgtk 3 dev
  • Nuttx程序测试

    前面两篇文章我们讲述了如何编译nuttx和ubuntu下stlink的安装 现在我们继续往下测试程序 硬件环境 stm32f407discovery软件环境 ubuntu14 04 43 vim 我们首先进入到nuttx tools目录下执
  • 两种四轴PID讲解

    参考资料 xff1a 爱无人机论坛 单级PID xff1a PID算法属于一种线性控制器 xff0c 这种控制器被广泛应用于四轴上 要控制四轴 xff0c 显而易见的是控制它的角度 xff0c 那么最简单 xff0c 同时也是最容易想到的一
  • 麒麟系统开机自启的实现方式

    方法 xff1a 利用Linux的 desktop文件实现开机启动 xff0c desktop文件位于在 etc xdg autostart目录下 举例 在 etc xdg autostart 目录下建立一个 test desktop文件
  • ifconfig与 ip addr命令详细

    文章目录 前言一 如何查看机器的IP地址二 网卡信息详解1 网卡名称2 网络设备状态标识3 IP地址4 MAC地址 三 ifconfig与 ip addr区别 前言 本文记录在linux系统下如何查看ip信息 网卡状态等信息以及简要说明if
  • Linux网卡ifcfg网卡配置项详解

    前言 由于在工作中涉及到服务器网卡的适配 xff0c 算是linux新手 xff0c 本次记录下linux网卡ifcfg exx配置项含义说明 xff0c 以下是某款终端下centos 7 5系统自动生成的网卡配置内容 xff1a span
  • Determining IP information for eth问题解决

    前言 在Linux网卡ifcfg网卡配置项详解文章中提到一个BOOTPROTO 61 配置项 它的意思是指网卡启动时获取ip的方式 xff0c 可以是dhcp或者静态ip 方式 xff0c 如果设置为none说明是不指定ip设置方式 一 问
  • 回首2013,展望2014

    此刻值此2013年末 xff0c 明天便是元旦 近日浏览CSDN论坛时 xff0c 发现有许多的坛友都在写2013年度总结 xff0c 博客作为个人的名片 xff0c 也决定开始尝试写博客 xff0c 我的第一篇博客就是关于2013年度总结
  • 关于vector大小(size)和容量(capacity)总结

    操作大小的函数 在Vector容器中有以下几个关于大小的函数 方法效果size 返回容器的大小empty 判断容器是否为空max size 返回容器最大的可以存储的元素capacity 返回容器当前能够容纳的元素数量 例子一 xff1a 该
  • inet_addr 和inet_ntoa函数作用

    我们使用socket进行通信的时候 xff0c 我们需要指定三个元素 xff1a 通信域 xff08 地址族 xff09 IP地址 端口号 xff0c 这三个元素由SOCKADDR IN结构体定义 xff0c 为了简化编程一般将IP地址设置