99.socket编程
简介
基本信息:
在内核中,Socket是一个文件,对应一个文件描述符。文件描述符是一个整数,是描述符数组的下标值
每一个进程都有一个数据结构
task_struct
,里面指向一个文件描述符数组
,表示这个进程打开的所有文件的文件描述符socket 对应的 inode 指向了 Socket 在内核中的
socket 结构
socket 结构
有两个队列,即发送队列sk_write_queue和接收队列sk_recieve_queue队列里面保存的是若干缓存
sk_buff
,即套接字缓冲区套接字缓冲区
sk_buf
里面存储的是包的信息Socket相关结构:
通过socket 数据包发送:

基于TCP 的socket:

基于UDP 的socket:

本文作者:navyum
本文链接:https://www.cnblogs.com/navyum/p/18509327
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步