课程亮点
- 由易到难,全面搭建网络编程知识体系
- 提供20 个样例小程序,便于加深知识理解
- 理论与实战结合,手把手教你开发网络监测工具
- 总结多年经验,亲授常用网络工具及解决问题的方法
课程介绍
2020年是非常特殊的一年,也是令你我终生难忘的一年。很多人都在谈论基础科技的重要性。事实上,计算机网络编程也是非常基础、非常重要的一门课,是每一位程序员都应该掌握的。今年火了远程办公和在线教育,其系统都是离不开网络编程的,以及各种音视频直播系统更是离不开网络编程。
也许你会说:“网络编程是偏底层的技术,我作为前端程序员有必要掌握吗?”我的回答是相当有必要的。如果你明白每一个 HTTP请求所发生的故事,这对你的技术进步、技术决策和职位晋升不是有很好的帮助吗?
对于求职者来说,网络编程更是必考的题目。比如,TCP 的 TIME_WAIT 状态是怎么产生的?有什么影响?如何避免?再比如,Node.js 的事件循环机制是什么?其实,Node.js 的底层网络库是 libuv,事件循环是基于 libuv 实现的。掌握了这些,同样能帮助你提升技术竞争力。
怎么学习网络编程呢?课程带你循序渐进、由易到难地学习。首先,了解 TCP/IP 参考模型中提出的主要协议。然后,我们主要学习 BSD Socket API,其中会利用一些小程序案例,来讲解这些 Socket API 具体用法。学习Socket编程一定少不了做实验,我们会通过做实验,更加明确协议格式和工作原理。最后,我们一起开发一个网络检测工具。
总之,课程不仅仅是带你学习网络协议相关知识,更重要的是研究操作系统网络协议栈的实现原理,学习网络中间件的设计思想和实现思路。这不仅有利于提升你的技术深度和广度,使你更容易做出正确的技术决策,还能为你的职业发展带来更多的选择。
讲师介绍:
讲师陈子兴,现任资深软件架构师,曾在华为、全时工作过。喜欢研究技术,喜欢网络编程技术,曾研究过 Linux 内核网络协议栈源码。由于具备多年的音视频实时通信行业经验,因此对音视频传输,高性能流媒体服务器的设计有着深刻的理解和认识。
课程模块
本专栏分为 5 大模块,共 32 小节。
专栏布局基本按开发顺序进行,共分为五个模块:
一、开篇介绍:
本模块分两篇。第一篇介绍为什么学习网络编程?什么是网络编程?怎样学习网络编程?第二篇介绍网络协议栈的发展历史。
二、基础理论篇:
本模块主要介绍 TCP/IP 协议模型的基础理论。包括:链路层、网络层、传输层的基本原理,以及网络字节序和主机字节序的概念。
三、Socket编程初级篇
本模块主要介绍UDP、TCP、UNIX 域套接字编程,以及 Linux、Windows、Mac OS 下面 I/O 多路复用技术。
四、Socket编程高级篇
本模块主要介绍高级 I/O 技术。包括:高级 I/O 函数、UNIX 异步 I/O、Windows IOCP、组播编程技术、网络 QoS 机制。最后开发一个网络质量检测的小项目。
五、总结篇
本模块为专栏收尾,对专栏内容进行总结。
- 计算机及软件方向的在校生
- 1-5 年初、中级开发工程师
- 对网络编程非常感兴趣的开发工程师
-
本专栏为图文形式内容服务,共计 32 小节,上线时间为 2020 年 6 月 9 日,预计 2020 年 8 月更新完成;
-
本专栏更新时间为周一、周三、周五,每周更新 3 篇(法定节假日顺延),形式为图文;
-
订阅成功后,用户即可通过慕课网 PC 端、App 端、WAP 端享有永久阅读的权限;
-
慕课专栏为虚拟内容服务,订阅成功后概不退款;
-
在专栏阅读过程中,如有任何问题,请邮件联系kf@imooc.com;
-
慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。