什么是套接字

发布时间 2023-08-17 21:36:51作者: 大橘|博客

1.客户端与服务端 如何靠sock进行通信
服务器端的返回的套接字是不是客户端的套接字

服务器端
创建监听套接字socket 绑定bind 监听 listen 提取accept
客户端
创建链接套接字 链接

socket 是用来实现网络传输功能的,它负责不同主机进程之间的网络通信连接
1.寻找
结构体

ip+端口 实现进程通信
2.协议选择

创建多个数据结构继承sock

例如 负责udp协议 udp_sock

3.sock
sock进行网络传输,对网卡进行操作 需在内核中 我们将各类sock封装成文件 并返回一个文件句柄 fd
使得应用层可以靠文件句柄进行操作

接口 send bind listen connect recv

处在用户态的程序通过 socket 提供的接口,将网络传输的这部分工作外包给了 Linux 内核

4.总结sock是什么
sock是处于内核的一种数据结构 用来实现网络传输
因为协议不同 衍生了各类sock
同时sock会在linux中生成为文件 提高接口

应用层
创建sock 绑定文件描述符 让应用层可以调用接口

参考
https://zhuanlan.zhihu.com/p/621436622