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:
