http项目
文章平均质量分 96
项目升级新知识学习、项目升级思路
gma999
这个作者很懒,什么都没留下…
展开
-
HTTPServer改进思路2(mudou库核心思想融入)
服务器构建过程中,不仅仅使用一个Reactor,而是使用多个Reactor,每个Reactor执行自己专属的任务,从而提高响应效率。首先Reactor是一种事件驱动处理模式,其主要,从而提高网络服务器的性能。简单可以理解为服务器利用该模式处理多路请求,然后将它们的分发给线程或者进程去处理。其次构建服务器可以使用多个Reactor,从而来提高服务器对事件的响应效率。将负责连接与客户端通信监控分离开,则是。原创 2024-07-21 20:01:07 · 533 阅读 · 0 评论 -
HTTPServer改进思路1
无限循环的从任务队列中获取任务进行处理,通过加锁确保访问任务队列是线程安全的,while循环检查任务队列是否为空,等待任务队列的到来,防止虚假唤醒。: 当你第一次监听一个socket时,使用EPOLL_CTL_ADD事件类型,将socket添加到EPOLL实例中,并指定你要监听的事件类型(通常是EPOLLIN)。: EPOLL的边缘触发模式。的保证,lambda表达式只会在第一个线程调用时执行一次,后续的调用都不会重复执行对象的创建和初始化,所有的线程都会返回同一个ThreadPoll实例。原创 2024-07-21 16:46:39 · 610 阅读 · 0 评论 -
Reactor模式下的TCP服务器(http项目改进)
func_t 用于处理常规事件;except_func用于处理异常事件。原创 2024-07-09 16:11:53 · 927 阅读 · 0 评论 -
HTTP3 HTTP1.1 HTTP2
首先客户端发送一个包含ClientHello和应用数据的UDP包,然后客户端回应ServerHello和加密参数以及应用数据的UDP包,客户端和服务器完成TLS握手协商出回话秘钥,双方基于该秘钥进行数据传输。TCP传输数据包的时候,因为延时或者丢包的原因,会导致服务端收到同样序号的数据包,从而导致TCP重传包的二义性。重传包的二义性又导致了RTT的计算不准确,最终导致拥塞控制算法的不准确。QUIC 实现了独立的数据流,每个流都有自己的序列号和重传机制,即使一个流的数据被阻塞,也不会影响其他流的数据传输。原创 2024-06-23 22:54:11 · 764 阅读 · 0 评论 -
http项目分析
该项目实现服务器处理浏览器提交的不同请求,并返回给浏览器响应。项目要点在处理http请求、构建http响应、线程池提高服务器处理客户端连接任务的效率、CGI程序处理带参请求。整体逻辑,浏览器向服务器发起请求,tcpserver监听并建立连接,该连接被封装成任务加入线程池,根据请求是否带参决定是否启动CGI程序处理数据,最终构建响应返回给浏览器。原创 2024-06-05 13:09:46 · 1392 阅读 · 0 评论