网络编程学习笔记(freeaddrinfo函数)
由getaddrinfo返回的存储空间,包括addrinfo结构、ai_addr结构和ai_canonname字符串,都是用malloc动态获取的。这些空间可调用 freeaddrinfo释放。其原型如下:
#include <netdb.h>
void freeaddrinfo (struct addrinfo*ai);
ai指向getaddrinfo返回的第一个addrinfo结构。在该链表中的所有结构,以及这些结构所指向的动态存储空间都被释放。假设我们调用getaddrinfo,顺着addrinfo结构链表找到所需的结构,然后只复制该addrinfo结构以保存其信息,再调用 freeaddrinfo,就会产生一个潜藏的错误。原因是addrinfo结构中的指针指向动态分配的内存。因此由我们保存的结构指向的内存在调用 freeaddrinfo后就释放,可能将作它用。只复制addrinfo结构,而不复制addrinfo结构所指向的其他结构,叫做浅拷贝或浅复制。复制addrinfo结构,同时复制addrinfo结构所指向的其他结构,称为深拷贝或深复制
网络编程学习笔记(freeaddrinfo函数)相关推荐
- 网络编程学习笔记(shutdown函数)
终止网络连接的正常方法是close,但close有两个限制,可由shutdown来避免 1.close将描述字的访问计数减1,仅在此计数为0时才关闭套接口.用shutdown可以激发TCP的正常连接终 ...
- 网络编程学习笔记(udp_client函数)
创建一个未连接的UDP套接口的客户函数,其代码如下: #include <netdb.h> #include <sys/socket.h> #include <netin ...
- 网络编程学习笔记(socketpair函数)
socketpair函数建立一对相互连接的套接口,这个函数只对Unix域套接口适用,其定义如下: #include <sys/socket.h> int socketpair(int fa ...
- 网络编程学习笔记(getnameinfo函数)
这个函数与getaddrinfo互补,它以一个套接口地址为参数,返回一个描述主机的字符串和一个描述服务的字符串.其函数原型如下: #include <netdb.h> int getnam ...
- 网络编程学习笔记(udp_server函数)
创建一个UDP口的服务端,其代码如下: #include <netdb.h> #include <sys/socket.h> #include <netinet/in.h ...
- 网络编程学习笔记(udp_connect函数)
创建一个连接UDP套接口的客户端,代码如下: #include <netdb.h> #include <sys/socket.h> #include <netinet/i ...
- 网络编程学习笔记(tcp_listen函数)
执行tcp服务器程序的一般操作步骤:创建一个tcp套接口,给它捆绑服务器众所周知端口,并允许接受外来的连接请求,其代码如下: #include <netdb.h> #include < ...
- 网络编程学习笔记(tcp_connect函数)
执行客户端程序的一般操作步骤,创建一个TCP套接口并与服务器建立连接,其代码如下: #include <netdb.h> #include <netinet/in.h> #in ...
- 网络编程学习笔记(getaddrinfo函数)
函数getaddrinfo在库函数中隐藏了所有协议依赖性.应用 程序只需要处理由getaddrinfo填写的套接口地址结构.其函数原型为: #include <netdb.h> int g ...
最新文章
- Ubuntu PyCharm cv2 无代码提示解决方法
- Hive中JOIN操作
- 德力西电气签约永洪科技,数字化赋能电气制造新征程
- 使用neo4j_知识图谱Task00:Neo4j安装配置
- [转]简单介绍如何用Reporting Service制作报表
- Linux命令整合之find
- WakaTime 记录你的时间(Moana 自动同步信息客户端)
- http协议中的响应代码从 1xx ~ 5xx,一共有41种
- ffmpeg 推流命令记载
- 计算机休眠唤醒后 网络受限,彻底解决win10系统待机、休眠被唤醒后笔记本WIFI无线网无法连接的问题-网络教程与技术
-亦是美网络...
- 解决jy61陀螺仪传感器读数跳动的问题
- 怎样修改PDF中的文本的字体
- Beyond Short Snippets: Deep Networks for Video Classification
- Kotlin 元编程(注解,反射)
- 【数据库】数据库期末考试复习试题与答案
- 百度飞桨“万有引力”2022首站落地苏州,全面启动中小企业赋能计划
- win7查找计算机在哪里,win7搜索在哪
- ABAQUS INP文件详解
- Eolink 10月企业与产品动态速览
- 【区块链新手快速入门】如何构建一个区块链
热门文章
- 暑期项目经验(十)--struts + poi
- Html:upload
- 动态修改数据窗口的数据源
- 设计模式心得笔记--简单工厂
- AutoCAD 命令参考手册
- python文件命名可以用中文吗-已经十多年了!你知道 Python 可以用中文命名变量吗?...
- python绘制3维图-python——绘制二元高斯分布的三维图像,
- python的优缺点有哪些-python的优缺点有哪些
- python读取txt文件内容-python读取压缩包里面所有*.txt文件的内容
- python常用内置函数总结-python常用内置函数整理—反射