
百度网盘
什么是网络编程?一句话来说,网络编程是对网络协议的落地。
落地,意味着网络编程对实战的要求更高,也正因为如此,很多程序员更倾向于使用类似 Netty 这种封装好的框架,快速,高效。
既然如此,为什么还要学习网络编程呢?
确实,比起开发细节,在某些时候,开发效率更重要一些。但如果是高性能的网络编程呢?
这就好比盖房子,当我们只需要建一个小平房时,那么对地基的深浅和材质的要求就没有那么高了,但如果是建造一栋高楼大厦,小平房的地基条件显然不能满足我们的需求。
同样的,高性能网络编程与普通的开发不一样,高性能意味着工作中的设计很容易到达临界点。这时不仅要想办法延展边界,比如提高吞吐量和并发性,还要解决临界点下各种棘手的异常问题,比如怎样保证上千万个连接的正常运行?
这个时候就不只是框架的使用问题了,我们更应该从底层原理出发,才能真正搞懂高性能问题。而这些问题,又非常依赖多年的实战,只有这样,才能总结出一套成体系的方法论和经验。
盛延敏,本科、博士皆就读于中科大,2000 年初就开始接触 ACE、CORBA 等网络编程技术,毕业后加入 IBM 从事 WebSphere 应用服务器开发和云平台 Bluemix 开发。后任大众点评云平台首席架构师,主持和推动了大众点评私有云平台的建设。目前在蚂蚁金服从事云计算领域的架构和开发等工作。
他将结合自己多年的实战经验,从网络编程的底层原理开始讲起,一步步聚焦到高性能编程上,教你从原理层面解决实际工作中可能遇到的各种性能问题,并且在最后手把手教你搭建一个可用的高性能框架。
学好网络编程,需要掌握哪些核心问题? 追古溯源:TCP/IP和Linux是如何改变世界的? 网络编程模型:认识客户端-服务器网络模型的基本概念 套接字和地址:像电话和电话号码一样理解它们 TCP三次握手:怎么使用套接字格式建立连接? 使用套接字进行读写:开始交流吧 嗨,别忘了UDP这个小兄弟 What? 还有本地套接字? 工欲善其事必先利其器:学会使用各种工具 09丨答疑篇:学习网络编程需要 TIME_WAIT:隐藏在细节下的魔鬼 优雅地关闭还是粗暴地关闭 ? 连接无效:使用Keep-Alive还是应用心跳来检测? 小数据包应对之策:理解TCP协议中的动态数据传输 UDP也可以是“已连接”? 怎么老是出现“地址已经被使用”? 如何理解TCP的“流”? TCP并不总是“可靠”的? 防人之心不可无:检查数据的有效性 提高篇答疑:如何理解TCP四次挥手? 期中大作业丨动手编写一个自己的程序吧! 期中大作业丨题目以及解答剖析 大名⿍⿍的select:看我如何同时感知多个I/O事件 poll:另一种I/O多路复用 非阻塞I/O:提升性能的加速器 Linux利器:epoll的前世今生 C10K问题:高并发模型设计 使用阻塞I/O和进程模型:最传统的方式 使用阻塞I/O和线程模型:换一种轻量的方式 I/O多路复用遇上线程:使用poll单线程处理所有I/O事件 I/O多路复用进阶:子线程使用poll处理连接I/O事件 渐入佳境:使用epoll和多线程模型 真正的大杀器:异步I/O探索 性能篇答疑:epoll源码深度剖析 自己动手写高性能HTTP服务器(一):设计和思路 自己动手写高性能HTTP服务器(二):I/O模型和多线程模型实现 自己动手写高性能HTTP服务器(三):TCP字节流处理和HTTP协议实现 答疑:编写高性能网络编程框架时,都需要注意哪些问题? 我相信这不是结束,让我们江湖再见
阅读全文
常见问题
是否支持单个资源购买?
答:点击“立即购买”,即是单个资源购买。
开通VIP会员后,是否支持全部资源下载,如何开通VIP会员?
答:点击“升级VIP”按钮,支付完成后即可开通VIP会员,VIP会员支持全站课程免费下载。
链接失效怎么办?
答:联系客服QQ:904745566,获取最新下载链接。
原文链接:http://xpozhan.com/code/cpp/1308/,转载请注明出处。


评论0