# 网络编程实践-陈硕

## 在线播放

{% embed url="<https://www.youtube.com/playlist?list=PLwIrqQCQ5pQl6qfekzrQ2ZxXAlIGbLnRe>" %}

## 附件下载

{% file src="<https://797169036-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MH6pjYea7exP4JAahg7%2F-MMahdFz3odHq-xFi0pC%2F-MMaioUXTIIR3Y-gj4DW%2F%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5-%E9%99%88%E7%A1%95.zip?alt=media&token=319c05d6-ee09-4f23-8aa4-f1f3dc010f47>" %}
点击下载
{% endfile %}

## 课程目录

1 网络编程概要

2 一个TCP的简单实验

3 课程内容大纲

4 回顾基础的Sockets API

5 TTCP代码概览

6 使用TTCP进行网络传输性能测试

7 阻塞IO下的TTCP实验

8 TCP自连接

9 扩展练习

10 时钟概述

11 时钟精确度和校准

12 网络时间同步

13 Roundtrip代码分析

14 其他测试方案

15 UDP vs TCP

16 扩展知识

17 如何正确使用TCP

18 TCP使用的注意事项

19 多个版本的Netcat概览

20 第一个Netcat的实现

21 IO multiplexing方式实现Netcat

22 使用非阻塞IO 1

23 使用非阻塞IO 2

24 进程监控概述

25 实现前要考虑的问题

26 procmon代码解析

27 dummyload实现原理和代码解析

28 procmon性能测试

29 知识扩展和总结

30 功能描述

31 数据结构设计与分析

32 数据结构代码解读

33 网络IO模型与代码解读

34 性能测试 1

35 性能测试 2

36 性能分析

37 定制数据结构以减小内存使用

38 数独求解服务简介

39 并发模型和测试工具

40 批处理模型及疑似内存泄露

41 内置性能监控

42 延迟测量与禁用Nagle s算法

43 最大容量及伸缩性测试

44 延迟分布于请求数及并发模型的关系

45 过载保护

46 负载均衡

47 负载均衡实例

48 如何进一步适应生产环境

49 代码阅读1：客户端

50 代码阅读2：服务端

51 苏迪曼杯羽毛球比赛

52 记分系统设计

53 聊天服务器

54 聊天服务器代码改进

55 hub服务器new!

56 设计难点new!

57 TCP relay功能描述及Python实现

58 TCP半关连接

59 非阻塞TCP relay实现

60 源码及运行

61 竞态条件及修复

62 SOCKS4a服务器实现

63 非阻塞IO之外的选择

64 用 GO 语言实现 TCP relay

65 事件驱动与多线程的取舍

66 第七层以外的实现方式

67 正确理解TCP的可靠性

68 Muduo与C++11

69 N皇后问题及单机求解方法

70 并行算法与MapReduce

71 RPC简介与接口定义

72 代码实现与运行实例

73 Go语言客户端

74 RPC 负载均衡

75 多机求平均数和中位数的算法

76 代码实现及运行实例

77 实现RCP框架：服务端

78 实现RPC框架：客户端

79 单词计数及按频度排序，单机算法

80 单机版代码阅读

81 多机单词计数算法与代码

82 多机找出最常见的K个单词

83 复活《TCPIP 详解第2卷》讲的4 4BSD协议栈

84 课程总结
