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 绑定文件描述符 让应用层可以调用接口