//lbnode

IPV4:socket

//struct sockaddr_in {ui

//    __uint8_tsin_len;this

//    sa_family_tsin_family;//iPv4地址族spa

//    in_port_tsin_port;     //端口号指针

//    structin_addr sin_addr;//IPV4 addresscode

//    charsin_zero[8];orm

//};字符串

lbget

IPV6:

//  struct sockaddr_in6 {

//  __uint8_tsin6_len;    /* length of this struct(sa_family_t) */

//  sa_family_tsin6_family;/* AF_INET6 (sa_family_t) */

//  in_port_tsin6_port;    /* Transport layer port # (in_port_t) */

// __uint32_tsin6_flowinfo;/* IP6 flow information */

// struct in6_addrsin6_addr;/* IP6 address */

//  __uint32_tsin6_scope_id;/* scope zone index */

//                      };

lb

getAddrInfo中的参数:

//  struct addrinfo {

//         intai_flags;/* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */

//        intai_family;/* PF_xxx */地址族,

//        intai_socktype;/* SOCK_xxx */套接字类型

//        intai_protocol;/* 0 or IPPROTO_xxx for IPv4 and IPv6 */协议类型

//        socklen_t ai_addrlen;/* length of ai_addr */指向缓冲区的字节数

//        char*ai_canonname;/* canonical name for hostname */主机的规范化名称

//        structsockaddr *ai_addr;/* binary address */指向sockaddr结构的指针。getaddrinfo返回的每一个addrinfo结构内的ai_addr都指向一个filled-in套接字地址结构。

//        structaddrinfo *ai_next;/* next structure in linked list */指向链表中下一个addrinfo结构的指针,若是是链表的最后一个addrinfo结构,则ai_next为NULL。

//    };

lb

转换IPV4和IPV6:

/**

int  getaddrinfo(

const char* nodename,//传的是主机地址的字符串;

const char* servname,

const struct addrinfo* hints,

struct addrinfo** res

);

*  nodename:节点名能够是主机名,也能够是数字地址。(IPV4的10进点分,或是IPV6的16进制)

*  servname:包含十进制数的端口号或服务名如(ftp,http)

*  hints:是一个空指针或指向一个addrinfo结构的指针,由调用者填写关于它所想返回的信息类型的线索。

*  res:存放返回addrinfo结构链表的指针,指向由一个或多个addrinfo结构体组成的链表,包含了主机的响应信息

* 返回值:成功返回0,失败返回非零的 sockets error code

*/

lb

c语言sockaddr_in6,C语言socket编程总结(三) struct sockaddr_in /struct sockaddr_in6/struct addrinfo 结构体...相关推荐

  1. C语言Socket编程为什么要将sockaddr_in强制转换成sockaddr?

    在阅读尹圣雨<TCP/IP网络编程>(C语言示例)的时候,看到将sockaddr_in类型的struct的指针强制转换成了sockaddr类型的指针. 比如hello_client.c: ...

  2. C语言概述(三)-- 宏定义、指针、结构体

    宏定义 指针 结构体 1.宏定义      #define      每个参数加上括号,结果也加上括号      否则,可能会因为运算的优先级问题导致结果错误 #define ADD(a,b) ((a ...

  3. socket编程之addrinfo结构体与getaddrinfo函数

    1. 概述 IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间.IP ...

  4. C++socket编程(三):3.3 bind端口

    在socket编程中,我们要用到bind绑定socket套接字,用上了你前面的逻辑创建的socket. 如下代码: //绑定//用bind绑定,绑定哪一个端口if (bind(sock, (socka ...

  5. 初识C语言(1)(2)(3)(4) C语言入门 保姆级教程 变量 常量 字符串 转义字符 操作符 关键字 字符串 指针 函数 结构体 数组 选择语句 循环语句

    一.如何写C语言代码 1.编译器 2.创建项目 3.创建源文件 4.写代码 5.编译+链接+运行 项目名字不要汉语,不要特殊字符,不要加空格,项目路径一般为你想要的路径 C语言中,一般创建.c源文件, ...

  6. C++socket编程(三)3.2 创建TCPServer设置服务信息并讲解网络字节序

    一:创建TCPserver 如下代码: 创建TCPserver设置服务信息代码如下 int sock = socket(AF_INET, SOCK_STREAM, 0);if (sock == -1) ...

  7. socket编程(三)

    1.REUSEADDR 服务器端尽可能使用REUSEADDR 在绑定之前尽可能调用setsockopt来设置REUSEADDR套接字选项. 使用REUSEADDR选项可以使得不必等待TIME_WAIT ...

  8. 25. Python语言 Web 开发 之 Socket 编程 · 第一章 UDP发送与接收数据

    UDP发送与接收数据 本章主题 关键词 前导: 计算机网络的发展及基础网络概念 两台电脑的通信 IP地址介绍及分类 IP地址与IP协议 Windows 和 Linux 查看网卡信息 IP地址分类 以太 ...

  9. 3d打印c语言与g代码混合编程,[转载]三轴运动控制器、串口运动控制器、支持G代码、3D打印机、雕刻、源代码开放、...

    串口运动控制器,支持G代码.M代码 3D打印机.雕刻机.激光雕刻.木工雕刻.微型CNC.开源GRBL运动控制平台 电源电压:DC12V-24V CPU:Atmega328P 串口:RS232电平,通信 ...

最新文章

  1. 精选 Github 近期13款开源工具包!(附数据集、链接)
  2. 不是你无法入门自然语言处理(NLP),而是你没找到正确的打开
  3. ins40401 oracle,安装orace grid infrastructure 提示[INS-40404]问题
  4. 在以下说法错误的是_关于犬麻醉常见的错误认知
  5. 漫画 | 如何凭实力炒老板鱿鱼,并喜提N+1~
  6. vmware的win98安装声音驱动
  7. Android开发画布销毁,Android DialogFragment 在页面销毁下的使用方式
  8. C语言-----职工信息管理系统
  9. 2.8 转置矩阵及对称矩阵
  10. Ubuntu20.04使用FreeRADIUS搭建EAP认证环境
  11. 解决QML debugging is enabled.Only use this in a safe environment.警告
  12. 如何关闭服务器系统防火墙设置方法,怎么关闭防火墙 Windows自带防火墙关闭方法...
  13. 【applicationContext.xml】spring 配置文件头部声明
  14. 867 · 四键键盘
  15. 苏州地区十大有影响力的调查研究咨询公司
  16. CF786A - Berzerk
  17. 微信小程序全栈开发实践 第二章 微信小程序组件介绍及使用 -- 2.9 页面链接组件,如何自定义一个导航栏?
  18. 微信辅助验证 信息填写正确 却提示绑卡信息错误的解决办法
  19. MATLAB程序:BPSK/QPSK的调制与解调
  20. IFE 耀耀学院(基础综合)

热门文章

  1. android 全面屏/刘海屏有效适配
  2. @NotEmpty注解不生效,爆红解决方法
  3. 体外(无细胞)蛋白表达试剂盒-原核蛋白表达系统(基于大肠杆菌内源的转录和翻译机制)
  4. [转]Android 触摸屏校准
  5. Appstore app链接mt参数app类型解析
  6. ES6(迭代器、Set、Map、数组去重)
  7. pycharm折线图不显示折线_Matplotlib的折线图
  8. HDU 6040 Hints of sd0061
  9. Maven dependencyManagement中的依赖版本会覆盖传递依赖版本
  10. 华为鸿蒙智慧屏有b站吗,鸿蒙、智慧屏,是华为的“阳谋”