Socket的一些Guide2 - 结构补充
source link: http://zablog.me/2015/12/10/ICS_Socket2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Socket的一些Guide2 - 结构补充
这些结构是有关于地址的数据结构。
Struct sockaddr_in
用来存储 协议家族Protocal family IPv4的IP地址和端口号。Struct sockaddr
即SA
用来作为普遍的、一般的、用于存储地址的结构。
PS: 因为C是面向过程的语言所以没有继承的概念。如果用面向对象的思维来分析的话,可以认为sockaddr是sockaddr_in的基类(父类),sockaddr_in是子类,专用于互联网IPv4协议栈下的应用地址的存储。Struct sockaddr_storage
就是sockaddr_in
- Struct addrinfo
getaddrinfo这个函数的作用是输入 主机名(或地址)+ 端口号(或服务) ,输出Socket信息(包含上述的sockaddr地址信息)。
Struct addrinfo **result 是存储得到的addrinfo的结构。
这个还是借助上次的图来说明:
函数之间的关系
首先还是上一个章节的Sockets Interface图,这也是Socket部分最重要的图。
那么,所列出的这些函数之间有什么关系呢?他们读取了什么数据,又产生了什么数据呢?下面用两张图来进行说明。
方框代表函数
圆圈代表数据蓝色实方框代表主要函数
浅蓝色虚方框代表析构or关闭函数绿色圈代表内部数据
金色圈代表外部数据
橙色圈代表几个重要的fd:File Descriptor
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK