熟悉网络编程基础 API,理解与 TCP/IP 协议栈的关系。
使用 Wireshark 观察访问 Internet 上的 Web 服务器
使用 Wireshark 来抓取整个流程,以粗浅的理解 TCP/IP。
使用 Wireshark 观察 TCP 协议
正是 TCP 优秀的容错能力,才能够保证可靠的数据传输,不得不了解。
使用 Wireshark 观察 ARP 协议
ARP 协议(处于数据链路层)的工作原理是: 1. 当前主机以广播的形式发送 ARP 请求,请求包中包含目标机器的 ip 地址 2. 目标机收到请求后,会返回 ARP 应答,应答包中包含目标机器的 MAC 地址
使用 Wireshark 观察 DNS 协议
DNS 服务器是多个按层级分布的服务器系统,每个服务器负责对应的域名到 IP 地址的映射关系。
使用 Wireshark 观察 IP 协议
IP 协议是位于网络层的核心协议,需要理解。
C++ concurrency:进一步的线程管理
线程除了创建和销毁外,还需要控制其暂停、继续运行等状态。
C++ concurrency:设计可以并发操作的代码
比起设计可并发访问的数据结构,现在需要站在更高的层次来看待并发。
C++ concurrency:设计基于锁的可以并发操作的数据结构
除了用户主动使用互斥锁来保护共享数据,也可以在设计共享数据结构的时候让其可以被并发的访问。
这样子的数据结构对用户就相对更加的友好,对于用户来说它就是多线程安全的。
但不管怎么说,这种数据结构在被并发访问的时候,其实是将多个线程的访问进行了串行化。那么就需要将互斥的区间设计的越小越好,以达到尽量高的并发性。
C++ concurrency:线程间同步
熟悉用 c++ 来编写可以跨平台的数据同步操作。