网络编程
文章平均质量分 77
网络编程
XuQingHui_JavaBoy
这个作者很懒,什么都没留下…
展开
-
Unix下可用的5种I/O模型
先列举一下Unix下可用的5种I/O模型: 阻塞式I/O 非阻塞式I/O I/O复用 信号驱动I/O 异步I/O 对各种模型讲个故事,描述下区别: 故事情节为:老李去买火车票,三天后买到一张退票。参演人员(老李,黄牛,售票员,快递员),往返车站耗费1小时。 阻塞式I/O 我们最熟悉的I/O模型就是阻塞式I/O模型,在上图中,应用进程系统调用recvfrom接收数据,但是此时内核缓冲区中数据报还未准备好,所以应用进程会一直阻塞直到内核缓冲区有数据报到达且被复制到应用进程缓冲区 例子: 老李去火车站买票,转载 2021-04-08 15:56:40 · 150 阅读 · 0 评论 -
通俗理解TCP的三次握手和四次挥手
TCP的协议负责计算机之间的网络连接,下面就以一个客户端一个服务器为例子记录它们之间传输的步骤(类比男女朋友之间通信)。 三次握手: 1.第一次握手是客户端发送SYN数据包,并设置seq序列号为j,客户端进入SYNC_SENT状态。 (小扎给小美写信表白) 2.第二次握手是服务器端收到数据包后,返回一个SYN包设置seq=k,同时返回一个ACK的包设置seq=j+1,进入SYN_RCVD状态。 (小美给小扎回信同意建立恋爱关系,小扎收到信后,确认他们之间的通信没有问题) 3.第三次握手是客户端收到ACK原创 2021-04-08 15:26:26 · 625 阅读 · 0 评论