欢迎光临
我们一直在努力

Linux网络——文件与网络的连接桥梁struct sock {

@bit::Shadow
✧(≖ ◡ ≖✿ 

目录

三次握手

listen( ) 的使用

当服务端仅listen()而不accept()情况下,客户端最多可以链接几个?

当服务端backlog == 1

struct socket { 桥梁


三次握手

即:accept不参与三次握手。

listen( ) 的使用

#include <sys/socket.h>

int listen(int sockfd, int backlog);

当服务端仅listen()而不accept()情况下,客户端最多可以链接几个?

最多建立backlog + 1个链接—-这些称作全链接队列

因此listen第二个参数的含义是全链接队列中已经建立链接(握手成功)的链接个数。

注:当大于backlog客户端链接时,C端交互仅进行到握手的第一次SYN_SEND

accept的本质是将已经建立好的连接拿出来使用。

当服务端backlog == 1

举例图示

验证得到:正常链接了2个,第三个客户端处于SYN_SENT状态。

struct socket { 桥梁

我们自struct task_struct { 开始到文件描述符表struct file* fd_array[] 到达文件与网络的桥梁struct sock { 其链接了TCP UDP通信基础。(作为指针强转形成C风格多态)

UDP无inet_connection_socket {

感谢支持,长期连载 欢迎关注

赞(0)
未经允许不得转载:171主机测评 » Linux网络——文件与网络的连接桥梁struct sock {
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址