图解Linux的Socket

在Linux里面,可通过创建Socket,使得进程之间进行网络通信,可通过TCP或者UDP的方式进行交互。

无论是面向连接的TCP,还是面向非连接的UDP,都要首先调用socket函数来创建一个套接字,对应的内核,也是一个文件。
在用户态调用socket函数,调用的系统调用是:
asmlinkage long sys_socket(int, int, int);
最终调用sock_create->__sock_create,在其中sock_alloc();创建数据结构

虽然socket也是个文件,有对应的文件描述符,但是没有真实文件系统上的inode,仅仅在内存中有个inode。
struct socket_alloc {
struct socket socket;
struct inode vfs_inode;
};
这个数据结构将socket结构和inode结构关联起来。

socket是一个文件,因而有一个File Descriptor在文件描述符列表中,也在打开的文件列表中,而指向一个仅仅在内存

图解Linux的Socket最先出现在Python成神之路

版权声明:
作者:congcong
链接:https://www.techfm.club/p/10461.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>