网络编程实战
盛延敏
前大众点评云平台首席架构师
立即订阅
6034 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 学好网络编程,需要掌握哪些核心问题?
免费
第一模块:基础篇 (9讲)
01 | 追古溯源:TCP/IP和Linux是如何改变世界的?
02 | 网络编程模型:认识客户端-服务器网络模型的基本概念
03丨套接字和地址:像电话和电话号码一样理解它们
04 | TCP三次握手:怎么使用套接字格式建立连接?
05 | 使用套接字进行读写:开始交流吧
06 | 嗨,别忘了UDP这个小兄弟
07 | What? 还有本地套接字?
08 | 工欲善其事必先利其器:学会使用各种工具
09丨答疑篇:学习网络编程前,需要准备哪些东西?
第二模块:提高篇 (10讲)
10 | TIME_WAIT:隐藏在细节下的魔鬼
11 | 优雅地关闭还是粗暴地关闭 ?
12 | 连接无效:使用Keep-Alive还是应用心跳来检测?
13 | 小数据包应对之策:理解TCP协议中的动态数据传输
14丨UDP也可以是“已连接”?
15 | 怎么老是出现“地址已经被使用”?
16 | 如何理解TCP的“流”?
17 | TCP并不总是“可靠”的?
18 | 防人之心不可无:检查数据的有效性
19丨提高篇答疑:如何理解TCP四次挥手?
期中复习周 (2讲)
期中大作业丨动手编写一个自己的程序吧!
免费
期中大作业丨题目以及解答剖析
免费
第三模块:性能篇 (12讲)
20 | 大名⿍⿍的select:看我如何同时感知多个I/O事件
21 | poll:另一种I/O多路复用
22 | 非阻塞I/O:提升性能的加速器
23 | Linux利器:epoll的前世今生
24 | C10K问题:高并发模型设计
25 | 使用阻塞I/O和进程模型:最传统的方式
26 | 使用阻塞I/O和线程模型:换一种轻量的方式
27 | I/O多路复用遇上线程:使用poll单线程处理所有I/O事件
28 | I/O多路复用进阶:子线程使用poll处理连接I/O事件
29 | 渐入佳境:使用epoll和多线程模型
30 | 真正的大杀器:异步I/O探索
31丨性能篇答疑:epoll源码深度剖析
第四模块:实战篇 (4讲)
32 | 自己动手写高性能HTTP服务器(一):设计和思路
33 | 自己动手写高性能HTTP服务器(二):I/O模型和多线程模型实现
34 | 自己动手写高性能HTTP服务器(三):TCP字节流处理和HTTP协议实现
35 | 答疑:编写高性能网络编程框架时,都需要注意哪些问题?
结束语 (1讲)
结束语丨我相信这不是结束,让我们江湖再见
网络编程实战
登录|注册

结束语丨我相信这不是结束,让我们江湖再见

盛延敏 2019-10-30
这是“网络编程实战”的最后一篇文章了,提起笔来,竟然感觉到有些不舍,回想起这个专栏的诞生,和总编、编辑反复地讨论选题,根据用户反馈不断打磨大纲,一幕幕都感觉恍如昨日。时间过得飞快,感谢大家几个月以来的相伴,不管大家对这个专栏有什么样的评价,我都可以自豪地说,我是很用心地在做这个事情。感谢极客时间的总编郭蕾,还有这个专栏的编辑,没有你们的支持,很难想象我会坚持完成这个专栏。
虽然我自认是个高性能网络编程领域的老手,但是在此之前,整个知识体系都是碎片化的,实践中虽然有过一些经验和教训,却很难形成一个完整的系列。平时也读过不少网络编程方面的书,大多也是为了解决实践问题进行的查疑解惑,从来没有动力去把这些碎片化的知识加以整理,所以,也非常感谢极客时间的这次邀约,使我能够以一个更加系统的角度把自己之前碰到的问题结合理论加以梳理,最终能形成一个比较完整的系列。我感觉自己在做这个事情的过程中,也收获颇丰。

学习方法论

谈完自己的感受,作为这个专栏的结束语,我还是非常希望能给坚持学下来的你们,我的忠实朋友们谈一谈学习方法论。

动手实践

前两天和同事们一起去登山,有些同事身体很棒,一溜小跑就奔到了山顶。我在下面远远地看着他们,无比羡慕,萌生出一个想法,如果能不登攀这些石阶直达到山顶,那该多好啊。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《网络编程实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(12)

  • 刘晓林
    虽然落后了好几天才把专利跟完,但是收获真的很大。以前对网络编程的底层API总是一知半解,网上看的资料也是零零散散不成体系,《unix网络编程》一类的砖头又有点让人望而却步。学完专栏之后,自己也能对一次IO的整体流程在脑子里生成一张比较完整的路径图了。尤其是最后的实战篇,感觉真的很棒,共享的代码很值得继续研究。感谢老师。

    作者回复: 达到了我的初衷,感谢分享。

    2019-11-03
    1
  • 初见
    花的最值的一门课,感谢老师,笔芯❤

    作者回复: 谢谢,同笔芯❤

    2019-10-31
    1
  • JustRunning
    谢谢老师,学到很多,也正好解决了一些现网上线过程中遇到的几个网络引起的性能问题,最近终于项目上线完,正在学习C语言,打算学完然后彻底重学一趟整个专栏,一步步实践更进一步吃透。因为没学过C,刚学完指针结构体,但是还是不懂怎么看库源码api类似,有点小懵,不知道老师能不能补充一个小专题,比如对刚学完C的或者C比较薄弱的,还需要哪些知识怎么学,才能比较独立用C跟上专栏~

    作者回复: 找一本C语言的书看下,多写多看吧。C语言的书我推荐
    https://book.douban.com/subject/1139336/

    2019-10-30
    1
    1
  • 贺荣伟
    极客时间上第一门 100 % 学完 的课程,感谢老师^_^

    作者回复: 谢谢支持。

    2019-11-26
  • 传说中的成大大
    最近学习了设计模式,理解了面向对象的特性 我也在回想课程的代码 感觉理解更深刻了 尤其是对dispatch和channel的理解 dispatch实际上是对分发器的一个抽象 隐藏具体实现细节提供功能就行了,而channel虽然不是函数 但是我感觉也是一种抽象 不用关心他到底是监听套接字还是收发套接字 只需要用拿到套接字就行了

    作者回复: 是的。

    2019-11-15
  • JasonZhi
    真心感谢老师。作为一名5年的PHP程序员,之前的工作比较少接触系统和网络编程方面的内容,自己在今年也是不断在这方面学习,就是希望能不断提升自己的知识面。正如购买课程时期待的,老师的教程让我充分认识到同步异步的区别,select,poll,epoll,aio的区别,知道什么是Reactor等,并且我也跟着github的代码在一步步地敲。希望有朝一日能与老师公事吧。

    作者回复: 期待。

    2019-11-08
  • 沉淀的梦想
    我第一个跟完的专栏,收获颇丰,谢谢老师,在学习网络编程的同时顺便也熟悉了一下C语言,接下来打算去读一读Redis网络部分的源码练练手

    作者回复: 谢谢支持。

    2019-10-30
  • 我来也
    感谢老师的辛苦付出!

    我之前工作中也是用c语言.
    也写过一些网络方面的东西.
    现在看了老师的c代码,自愧不如.😁

    现在虽然没从事c语言开发了,但看起在性能篇中讲的那些模型,还是蛮熟悉的.
    以前也确实是从select -> poll -> epoll过来的,再就是异步和线程模型.

    现在从事golang开发,很多底层的网络库,都不需要自己写了.
    很多都有开源的解决方案了.
    但是知道了些理论的东西,在需要时,上手起来也快.

    作者回复: 非常同意,知道原理,会让我们上手和解问题的速度都快很多。

    2019-10-30
  • 传说中的成大大
    文章内容都没看,直接下来评论,我竟然还收到了更新,以为不会更新了哈哈哈,笑着下山😄😄😄😄

    作者回复: 谢谢一路支持~

    2019-10-30
  • GeekAmI
    这个专栏让我更有自学看tomcat和netty源码啦
    感谢老师,希望以后能成为同事!

    作者回复: 期待~

    2019-10-30
  • Berry Wang
    一篇篇文章看到了最后,还是有很多不理解的地方,但收获颇丰,同时我也跟一楼一样在学c,最好了二刷专栏的准备。老师辛苦了

    作者回复: 有针对性的问题可以继续讨论哈。

    2019-10-30
  • 小智e
    自己是从 I/O 多路复用,了解到网络编程,也是通过网络编程,让自己明白基础知识的重要性。在这个专栏里,学到了很多,谢谢老师。

    作者回复: 谢谢一路支持。

    2019-10-30
收起评论
12
返回
顶部