TIME_WAIT相关理解TIME_WAIT发生的场景 应用服务需要通过发起TCP连接对外提供服务。每个连接会占用一个本地端口,当在高并发的情况下,TIME_WAIT状态的连接过多,多到把本机可用的端口耗尽,应用服务对外表现的症状,就是不能正常工作了。当过了一段时间之后,处于TIME_WAIT的连 ...
网络编程学习笔记(二)--连接与通信
使用套接字格式建立连接服务端准备连接的过程 一、创建套接字: int socket(int domain, int type, int protocol); 二、绑定地址: bind(int fd, sockaddr * addr, socklen_t len); bind函数后面的第 ...
网络编程学习笔记(一)--几种概念
客户端-服务端模型 一个连接可以通过客户端-服务器端的IP和端口唯一确定,这叫做套接字对,按照下面的四元组表示:(clientaddr:clientport, serveraddr: serverport)。下图表示了一个客户端-服务器之间的连接: 保留网段 国际标准组织在IPv4地址空 ...
TCP/IP协议体系架构
在学习完TCP/IP协议后,个人感觉有几个重要的概念值得重视,所以记录在此。 体系结构 TCP-IP协议的体系结构如下图,其中,数据链路层、网络层、传输层在内核中实现,因为这些既高效又稳定,而应用层负责处理应用程序的逻辑,因此在用户态实现。 数据链路层之ARP协议 ARP协议属于数据链路 ...
含有汇编代码的编译错误
含有汇编代码的vs2017工程编译错误 当一个项目工程中含有汇编代码,在编译的时候可能会出现以下的错误。 ‘yasm’ 不是内部或外部命令 这是因为yasm.exe的路径不对,如果没有装yasm,则在 http://www.tortall.net/projects/yasm/wiki/Downl ...
malloc和free详解
malloc和free详解malloc的实质 malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表。调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块。然后,将该内存块一分为二(一块的大小与用户请求的大小相等,另一块的大小就是剩下的字节) ...
一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。
一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。 假设经过三个小时的细胞分裂后再死亡。根据题意,细胞的生命周期是三个小时,一个小时后,第一个细胞分裂,此时细胞总数变成2,但是这两个细胞的生存时间是不一样的,如果都当成新生细胞即存活时间为0,那么给定的3小时生命周期也就没意 ...
TCP协议如何保证数据传输的可靠性
TCP协议如何保证数据传输的可靠性 TCP协议传输的特点主要就是面向字节流、传输可靠、面向连接。 TCP协议保证数据传输可靠性的方式主要有:校验和、序列号、确认应答、超时重传、连接管理、流量控制、拥塞控制。 校验和 计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数 ...