http://chenshuo.com/practical-network-programming/

视频:https://www.bilibili.com/video/BV1sE41137zG?from=search&seid=191319194812128778

Course Description

  • Teach common network programming techniques by examples
  • Focus on server-side TCP network programming on Linux
  • Walk-through code in C++, Python and Go

Prerequisites

  • Have read Unix Network Programming volume 1 (either 2nd ed. or 3rd ed.) by late W. Richard Stevens
  • Know basics of TCP/IP, eg. IP addresses, ports,
  • Know how to write an echo server with basic sockets APIs in any language

Code

  • http://github.com/chenshuo/muduo
  • http://github.com/chenshuo/recipes
  • http://github.com/chenshuo/muduo-protorpc
  • http://github.com/chenshuo/muduo-examples-in-go

Schedule

0. Overview

  • Measure throughput of TCP over Gigabit Ethernet with netcat
  • Lecture section 1 | Lecture section 2 | Lecture section 3

Part I: Basic non-concurrent programs with blocking IO

1. TTCP

  • Review basic Sockets API
  • Measure throughput of TCP over Gigabit Ethernet with TTCP
  • TCP self connection
  • Lecture section 4 | section 5 | section 6 | section 7 | section 8 | section 9

2. Round-trip

  • How NTP works
  • Measure clock error between two hosts
  • The only UDP example
  • Lecture section 10 | section 11 | section 12 | section 13 | section 14 | section 15 | section 16

3. Netcat

  • The Swiss army knife of networking
  • Deal with two file descriptors simultaneously (stdin/out and TCP socket)
  • Why IO-multiplexing must be used with non-blocking IO
  • Lecture section 17 | section 18 | section 19 | section 20 | section 21 | section 22 | section 23

Part II: Concurrent programs with non-blocking IO

4. procmon

  • cpu / memory usage charts of one process
  • dummyload
  • Lecture section 25 | section 25 | section 26 | section 27 | section 28 | section 29

5. Simple memcached

  • Customize the data structure
  • Efficient locking by sharding
  • Performance testing
  • Lecture section 30 | section 31 | section 32 | section 33 | section 34 | section 35 | section 36 | section 37 |

6. Sudoku Solver

  • Request-response model
  • Client connections are independent
  • Concurrency and parallel on multicore machines
  • Disable Nagle's algorithm in low-latency servers
  • Load balancing
  • Overload protection
  • Lecture section 38 | section 39 | section 40 | section 41 | section 42 | section 43 | section 44 | section 45 | section 46 | section 47 | section 48 | section 49 | section 50 |

7. Broadcasting to TCP peers

  • Connections exchange data with each other
  • How to deal with slow clients?
  • Lecture section 51 | section 52 | section 53 | section 54 | section 55 | section 56 |

8. SOCKS proxy server

  • Relay two TCP connections
  • Mismatching bandwidth?
  • Difference between level 4 and level 7?
  • Lecture section 57 | section 58 | section 59 | section 60 | section 61 | section 62 | section 63 | section 64 | section 65 | section 66 | section 67 | section 68 |

Part III: Data processing with multiple machines

9. Parallel N-queen puzzle

  • Multithreaded N-queen puzzle
  • Multi-machine N-queen puzzle using MapReduce
  • Lecture section 69 | section 70 | section 71 | section 72 | section 73 | section 74 |

10. Median across machines

  • Lecture section 75 | section 76 | section 77 | section 78 |

11. Most frequent queries

  • Lecture section 79 | section 80 | section 81 | section 82 | section 83 | section 84 |

陈硕网络编程实战视频教程目录相关推荐

  1. 陈硕《网络编程实战》目录

    陈硕<网络编程实战>目录 00.前言 01.网络编程概要.mkv 02.一个TCP的简单实验.mkv 03.课程内容大纲.mkv 04.回顾基础的Sockets API.mkv 05.TT ...

  2. 陈硕《网络编程实战》 84 课程总结 【草稿】

    陈硕<网络编程实战> 84 课程总结 [草稿] 站在巨人的肩膀之上. 按照录像整理,版权归陈硕大神. 我们这门课程呢,今天就是最后一讲,已经讲完了. 那我们再做一点小结,整理一下这个思路: ...

  3. 【网络编程实践--陈硕】学习笔记 | 汇总目录

    本文参考<网络编程实践>–陈硕(Muduo作者)视频课程所写.基于课程内容所做归纳和整理. <网络编程实战>配套页面:http://chenshuo.com/pnp Blog ...

  4. 陈硕《网络编程实战》 02 一个TCP的简单实验

    [稿] 陈硕<网络编程实战> 02 一个TCP的简单实验 站在巨人的肩膀之上. 按照录像整理,部分专有名词不太肯定,版权归陈硕大神. 实验用的是我家里的几台计算机,第一台的主机名叫atom ...

  5. 陈硕《网络编程实战》00 前言

    陈硕<网络编程实战> 第 00 课 前言 站在巨人的肩膀之上,还要抓牢,不要掉下去.    按照录像整理,版权归陈硕大神. 作者简介: 陈硕,北京师范大学硕士,擅长 C++ 多线程网络编程 ...

  6. 陈硕《网络编程实战》03 课程内容大纲【稿】

    陈硕<网络编程实战> 03 课程内容大纲[稿] 站在巨人的肩膀之上. 按照录像整理,部分专有名词不太肯定,版权归陈硕大神. 我们对TCP的基本性能有了一个大致的了解,用这个简单的dd.Ne ...

  7. 陈硕《网络编程实战》01 网络编程概要

    陈硕<网络编程实战> 01 网络编程概要 站在巨人的肩膀之上. 按照录像整理,部分专有名词不太肯定,版权归陈硕大神. 大家好,我是陈硕,受邀讲授一门有关网络编程的在线课程,这门课程的名称是 ...

  8. 基于Winsock API的VC网络编程实战

    基于Winsock API的VC网络编程实战 随着计算机信息技术的飞速发展,互联网与人类社会的工作.生活越来越紧密相关,它已经成为人类获取.交流信息的重要途径和手段.所以当前对于开发人员来说,网络编程 ...

  9. NIO网络编程实战之简单多人聊天室

    NIO网络编程实战 利用NIO编程知识,实现多人聊天室. 1. NIO编程实现步骤 第一步:创建Selector 第二步:创建ServerSocketChannel,并绑定监听端口 第三步:将Chan ...

最新文章

  1. 陈丹琦带着清华特奖学弟发布新成果:打破谷歌BERT提出的训练规律!这个庆祝方式太学神了吧...
  2. C语言哆啦a梦用printf输出,【2013.1.20】故事的最后,哆啦A梦终于又回到了大雄身边。从此两个人过上了…——ProtoType...
  3. python语句关键词用法_python中关键字as的使用方法简介
  4. 男人有钱还是没钱,只需要关注他这三点,就明白了
  5. 编程语言中的常量折叠(const folding)
  6. PHP_变量什么情况下加大括号{}
  7. CSS实现半透明边框
  8. 用canvas画圆饼图
  9. 船用炉灶的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 咻商跨境电商获悉报告指广州深圳跨境电商运营人才需求激增
  11. 【小说】MR设备普及后的生活
  12. 《 降伏其心(一)》
  13. CREE第二代SiC MOSFET驱动电路原理图及PCB板设计)
  14. BLOCK层代码分析(1)数据的组织BIO
  15. 科技百咖 | 探迹科技:让天下没有难做的销售
  16. 开发电商网站应该注意哪些
  17. 销售系统学习.mdl
  18. 强化学习(9):TRPO、PPO以及DPPO算法
  19. 邢台职业技术学院计算机学费,邢台职业技术学院各专业学费标准
  20. 计算机软考网络中级题目,计算机软考中级软考网络工程师上午试题答题技巧

热门文章

  1. 关于 JavaScript 浮点运算的精度解决方案
  2. 新站结合熊掌号的实际操作 实现当天收录
  3. Ubuntu学习(应用集合、命令行以及遇到的问题)
  4. Chromium Embedded Framework中文文档 (SVN属性)
  5. Linux 命令(58)—— readelf 命令
  6. linux通过rpm和yum安装包
  7. java中的final关键字(2013-10-11-163 写的日志迁移
  8. 利用Python批量重命名一系列文件名杂乱的文件
  9. Xcode7 低版本iOS系统上下有黑边的问题
  10. 六个超大规模Hadoop(前景)