计算机网络
文章平均质量分 64
ALITAAAA
这个作者很懒,什么都没留下…
展开
-
两种高效的服务器并发模式
高并发的目的就是提高CPU的使用率,使得程序可以“同时”执行多个任务。一旦程序中发生阻塞,则其他程序能立即执行,不会阻塞从而降低CPU的使用率。 不过对于计算密集型的程序,高并发编程反而没有优势,因为任务的切换降低了效率。但是如果是I/O密集型,经常读写文件、访问数据库等等,I/O操作的熟读远没有CPU计算速度快,所以会显著降低了CPU的执行效率。 并发模式指的是I/O处理单元和多个逻辑单元协调完成任务的方法。有两种方法:半同步/半异步模式 和 领导者/追随者 模式。 半同步/半异步模式 这里的同步指的是程原创 2021-03-31 16:28:12 · 231 阅读 · 0 评论 -
TCP/HTTP链接过程解析
HTTP链接过程 如果我们在浏览器输入了www.baidu.com的网址,在网络链接正常的情况下,浏览器则会进入到百度的首页,呈现给我们。或许我们都知道使用,却不知道底层是先有以下几个步骤完成: 浏览器分析直接指向的URL; DNS域名解析IP地址; 浏览器和服务器三次握手建立链接; 浏览器发送请求报文段; 服务器解析请求报文段; 服务器回复请求报文段,其中包含请求信息以及html文件; 释放TCP断开连接; 解析报文段,呈现在浏览器中; 以上8个步骤完成,才是一次真正的网址访问的完成。 DNS域名解析原创 2020-11-26 12:33:18 · 652 阅读 · 0 评论 -
基本TCP套接口的编程流程
基本编程流程概述 要实现客户端和服务器端的通信,则需要客户端和服务器端共同完成。其中,TCP服务器和客户端的编程流程如图所示: 首先由服务器端创建socket,然后bind绑定通信端口,创建listen监听队列。之后便开始了通讯的过程。此时服务器阻塞在accept这里,直到tcp客户端主动进行connect进行三次握手建立连接。此时客户端的write函数向服务器发送请求,服务器端read来读取请求,并且进行处理。处理完成之后调用服务器端的write函数给客户端发送应答报文,客户端则通过read来接受回应信息原创 2020-11-01 13:27:31 · 711 阅读 · 0 评论 -
理解LInux系统下的五种IO模型
五种IO模型 对服务器进行编程的过程中,一个t套接口的输入操作一般有两个不同的阶段: 等待数据准备好 从内核到进程拷贝数据 简而言之,对于一个套接口的输入操作,第一步是等待数据到达内核中的一个缓冲区中,例如在对屏幕进行打印的时候,首先是先把数据保存到标准输出缓冲区中,然后刷新输出缓冲区,即可完整打印出来内容。第二部是将数据从内核缓冲区拷贝到应用缓冲区中。 针对这个过程,linux一共提供了五种IO模型来应对不同的需求: 阻塞性IO 非阻塞IO I/O复用 信号驱动 异步IO原创 2020-11-01 11:41:57 · 112 阅读 · 0 评论