摘要: 后面详细分析 先上传 之前总结查看源码后的总结 Nagle算法的基本定义是任意时刻,最多只能有一个未被确认的小段。所谓“小段”,指的是小于MSS尺寸的数据块,所谓“未被确认”,是指一个数据块发送出去后,没有收到对方发送的ACK确认该数据已收到。也就是没有收到ack 的时候不会再次发送数据出去。该算法 阅读全文
posted @ 2019-07-01 20:50 codestacklinuxer 阅读(795) 评论(0) 推荐(0)
摘要: shutdown 系统调用关闭连接的读数据通道 写数据通道 或者 读写数据通道; 关闭读通道:丢弃socket fd 读数据以及调用shutdown 后到达的数据; 关闭写通道:不同协议处理不同;tcp协议,将所有的数据发送完成,发送完后发送FIN; 但是为了删除套接字和释放文件描述符,我们必须使用 阅读全文
posted @ 2019-06-30 18:41 codestacklinuxer 阅读(889) 评论(0) 推荐(0)
摘要: accept 用于从指定套接字的连接队列中取出第一个连接,并返回一个新的套接字用于与客户端进行通信,示例代码如下 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int accept(int sockfd, struct so 阅读全文
posted @ 2019-06-27 21:21 codestacklinuxer 阅读(1892) 评论(0) 推荐(0)
摘要: #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int listen(int sockfd, int backlog); · 参数 int sockfd :成功创建的 TCP 套接字。·int backlog :定义 TCP 阅读全文
posted @ 2019-06-27 20:53 codestacklinuxer 阅读(1493) 评论(0) 推荐(0)
摘要: connect 系统调用 分析 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 阅读全文
posted @ 2019-06-27 17:12 codestacklinuxer 阅读(2978) 评论(0) 推荐(1)
摘要: 主要查看linux kernel 源码:Socket.c 以及af_inet.c文件 1.1 bind分析 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int bind(int sockfd, const struct s 阅读全文
posted @ 2019-06-27 10:00 codestacklinuxer 阅读(1384) 评论(0) 推荐(0)
摘要: 网络编程基础 大端小端: 字节序,顾名思义,指字节在内存中存储的顺序。比如一个int32_t类型的数值占用4个字节,这4个字节在内存中的排列顺序就是字节序。字节序有两种: (1)小端字节序(Little endinan),数值低位存储在内存的低地址,高位存储在内存的高地址; (2)大端字节序(Big 阅读全文
posted @ 2019-06-18 18:01 codestacklinuxer 阅读(2917) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2019-06-18 16:31 codestacklinuxer 阅读(390) 评论(0) 推荐(0)
摘要: socket 结构 /** * struct socket - general BSD socket * @state: socket state (%SS_CONNECTED, etc) * @type: socket type (%SOCK_STREAM, etc) * @flags: sock 阅读全文
posted @ 2019-06-12 19:47 codestacklinuxer 阅读(684) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2019-06-02 17:54 codestacklinuxer 阅读(132) 评论(0) 推荐(0)