WebRTC学习进阶之路 --- 六、Web服务器原理、服务器基础编程知识

WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274

一、服务器基础知识

  • Linux系统下的信号
  • 信号的处理方式:忽略、捕获、默认处理
  • 都有哪些信号:man 7 signal查看系统中有哪些信号
    WebRTC学习进阶之路 --- 六、Web服务器原理、服务器基础编程知识_第1张图片

几个重要信号:

  • SIGPIPE:管道中止,当写入无人读取的管道时产生该信号,默认终止进程
    网略程序必须要处理该信号,否则当客户端退出后,服务器仍然向该SOCKET发数据时,会引起crash
  • SIGCHLD :子进程结束或停止时发送
    处理不当会产生僵尸进程,僵尸进程是一个早已死亡的进程,但在进程表中仍然占有位置
    Linux中子进程结束的时候,并没有被完全销毁,因为父进程还要用它的信息
    父进程没有处理SIGCHLD 信号或调用wait/waitpid()等待子进程结束,就回出现僵尸进程
  • SIGALRM :定时器信号,以秒为单位,默认终止进程
  • SIGUSR1/SIGISR2 :自定义,默认终止进程
  • SIGINT:键盘输入的退出信号
  • SIGQIUT:键盘输入的退出信号   ctrl+c
  • SIGHUP:控制终端的挂起信号

后台进程

  • fork方式
    fork一个子进程,父进程退出,子进程称为孤儿进程,被init进程接管
    调用setsid建立新的进程会话
    将当前工作目录切换到根目录
    将标准输入、输出、出错重定向到 /dev/null
  • 调用系统的daemon API

c++服务器开发必备知识

这里分析一篇文章,讲服务器开发的相关基础知识挺详细的,有兴趣可以看下,这里我就不做赘述,因为我们的重点还是webrtc,吼吼:https://blog.csdn.net/woaijssss/article/details/90288645


二、Web服务器原理

Web服务器选型

  • Nodejs
  • Nginx
  • Apache

Web服务工作原理

                            WebRTC学习进阶之路 --- 六、Web服务器原理、服务器基础编程知识_第2张图片

通过下边这张图我们可以简单了解下Nodejs的工作原理和事件处理,仅供参考:

                           WebRTC学习进阶之路 --- 六、Web服务器原理、服务器基础编程知识_第3张图片

WebRTC学习进阶之路 --- 六、Web服务器原理、服务器基础编程知识_第4张图片

                     WebRTC学习进阶之路 --- 六、Web服务器原理、服务器基础编程知识_第5张图片

       嗯嗯,总体来说这些知识了解一下还是有必要性的,不过我们这个系列的重点还是咱们的WebRTC,所以服务器相关的就先简单总结到这里,感兴趣的可以再深入研究下,还是很大一块东西的。

 

WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274

你可能感兴趣的:(WebRTC学习进阶之路系列)