首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

网络编程函数socket源码分析

该函数就是我们平时调用socket函数时对应的底层函数,该函数首先创建一个socket结构体,该结构体是对tcp/ip或者uninx域协议的抽象,其中ops字段指向底层的操作函数集。

由上面的代码可以知道,socket函数主要是三个步骤,下面逐个分析。

1 拿到一个新的socket结构体

2 sock->ops->create,create函数对应的是inet_create

3 get_fd,经过上面的几个步骤,我们拿到了一个inode、一个socket、一个sock。最后我们要再拿到一个文件描述符返回给应用层,在操作系统中,每个进程有一个fd数组,记录进程打开的文件信息,数组的一个或多个项指向一个struct file结构体,一个或多个file结构体又指向一个inode结构体。所以我们拿到一个inode后,还需要拿到一个file结构,最后拿到一个fd结构,返回给用户。

最后,当我们指向一个socket函数时,内存视图是:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190120G0060Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券