explorer

万丈高楼平地起,勿在浮沙筑高台

0%

理解在用户空间中使用定时器。

Linux 提供了 3 种定时方法:

  1. socket 选项 SO_RECVTIMEO 和 SO_SNDTIMEO
  2. SIGALRM 信号
  3. I/O 复用系统调用的超时参数
阅读全文 »

理解进程可能会收到的信号,以及捕捉该信号。

阅读全文 »

I/O 复用虽然能同时监听多个文件描述符, 但它本身是阻塞的 。并且当多个文件描述符同时就绪时,如果不采取额外的措施,程序就只能按顺序依次处理其中的每个文件描述符,这使得服务器程序看起来像是串行工作的。要实现并发,只能使用多进程或多线程等编程手段。

阅读全文 »

Linux 服务器程序有一些基本的规范:

  • Linux 服务器程序以守护进程的方式运行
  • Linux 服务器程序通常有一套日志系统,一般在 var/log 目录下有自己的日志目录
    • 如果是使用 c++ 的话,那记录日志使用 spdlog 是个很好的选择
  • Linux 服务器程序一般会创建一个用户来运行自己的程序
  • Linux 服务器程序的配置文件存放在/etc目录下
  • Linux 服务器程序在启动后会在/var/run目录中生成一个 PID 文件,以记录进程 PID
  • Linux 服务器进程需要考虑系统资源和限制,以预测自身能够承受多大负荷
阅读全文 »

ARP 协议(处于数据链路层)的工作原理是:

  1. 当前主机以广播的形式发送 ARP 请求,请求包中包含目标机器的 ip 地址
  2. 目标机收到请求后,会返回 ARP 应答,应答包中包含目标机器的 MAC 地址
阅读全文 »