自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 【无标题】

服务器程序通常需要处理三类事件:I/O 事件,信号以及定时事件。

2023-05-09 21:20:39 47

原创 webserver

在HTTP请求的读取和分析中,经常会应用有限状态机。判断HTTP头部结束的依据是遇到一个空行,该行仅包含一对回车换行符()。如果一次读操作没有读入HTTP请求的整个头部,即没有遇到空行,那么我们必须等待客户继续写数据并再次读入。因此我们每完成一次读操作,就要分析新读入的数据中是否有空行。不过在寻求空行的过程中,可以同时完成对整个HTTP请求头部的分析,以提高解析HTTP请求的效率。

2023-05-06 21:05:10 61

原创 webserver

当前的领导者如过检测到I/O事件,首先要从线程池中推选出新的领导者线程,然后处理I/O事件。此时,新的领导者等待新的I/O事件,原来的领导者则处理I/O事件,两者实现了并发。*模拟Proactor模式:使用同步I/O方式,主线程执行数据读写操作,读写完成之后,主线程向工作线程通知这一“完成事件”。在I/O模型中:同步/异步的区分是由内核向应用程序通知的是何种I/O事件(就绪/完成),以及该有谁来完成I/O读写(应用程序/内核)所有工作线程的管理者。对于I/O密集型的程序,使用并发,可以提高CPU的利用率。

2023-04-27 22:01:48 59

原创 webserver

rsyslogd守护进程既能接收用户进程输出的日志,又能接收内核日志。​ 用户日志:调用syslog函数生成系统日志,该函数将日志输出到一个UXIX本地域socket类型(AF_UNIX)的文件/dev/log中,rsyslogd监听该文件以获取用户进程的输出。​ 内核日志:通过另一个守护进程rklogd来管理的,该进程利用额外的模块实现相同的功能。由printk函数打印至内核的环状缓存中。环状缓存的内容直接映射到/proc/kmsg文件中。

2023-04-26 20:15:10 80 1

原创 webserver

网络进程间通信:Socket在本地可以通过进程PID来唯一标识一个进程;在网络中,网络层的可以唯一标识网络中的主机,传输层的可以唯一标识主机中的进程,这就是Socket地址的起源。

2023-04-25 21:41:20 58 1

原创 webserver

TCP/IP 协议族的核心协议,为上层协议提供无状态,无连接,不可靠的服务。无状态:通信双方不同步传输数据的状态信息,因此所有的IP数据报的发送,传输和接收都是相互独立,没有上下文关系的。​ 缺点是无法处理乱序和重复的IP数据报。数据报头部提供的标识字段只是用来处理IP分片和重组的,无法指示接收顺序。无连接:不长久维持对方的任何信息,所以必须指定IP地址。不可靠:尽最大努力传输。发送失败就通知失败,不会试图重传。

2023-04-21 11:40:59 51 2

原创 webserver

TCP/IP协议

2023-04-20 20:33:14 80 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除