感谢您的预订!我们的团队成员将会尽快与您取得联系。
感谢您的预订!我们的团队成员将会尽快与您取得联系。
课程大纲
-
插座
创建数据报套接字
接收和发送数据
创建和接受 TCP 连接
关闭插座
处理错误
以简单的方式处理多个客户端
Prefork 模型,如 Apache 中所示
为每个客户端分叉一个新进程
完成流程后的清理
线程
Inetd, systemd 单元
等待数据
阻塞套接字
非阻塞套接字和选择
选择作为等待“这些套接字中的任何一个”的一种方式
组织读取和写入
处理短读和短写
读取分隔符
流水线请求
应用程序级缓冲区
事件驱动架构
使用 select 在一个线程中多路复用所有客户端连接
状态机
回调地狱
事件库
“绿色”线程
10000 个连接的问题
prefork 模型和基于选择的循环的问题
轮询作为选择的替代方法
实时信号以及为什么不应该使用它们
Epoll (linux) 和 kqueue (BSD)
为什么以及何时 epoll 和 kqueue 比 poll/select 更快
超时和计时器
SIGALARM公司
超时作为选择参数
超时相等的简单情况
优先级队列作为抽象数据链
二进制堆作为优先级队列实现
定时器轮
timerfd(定时rfd)
与操作系统集成
传统守护进程
Systemd 套接字激活
伐木
处理信号
性能和可伸缩性优化
选择正确的架构
设置套接字选项
要求
- C语言
- Linux 用户技能
14 小时
客户评论 (4)
The breadth of the topis covered was quite a bit and the trainer tried to do justice to that.
Lakshmipriya Sivakumar - Deque Systems Inc
课程 - Spring Boot, React, and Redux
I like the professionality of the trainer, he really knows what he is talking about and able to explain almost even the simple subjects on the topic which is great.
Marlon - National Confederation of Cooperatives
课程 - React with Next.js
trainer very knowledgeable clear classes explains the importance of learn the topic gives enough background on topic
Li Fang Bren Ong - DBS Bank Limited
课程 - Ant Design
The labs were interesting and probably the most useful learning tool to me. Anything I missed or forgot about was relearned or reinforced in the labs.