每次读完一些前辈或者行业大牛的书之后,自己心里都会有些“心潮澎湃”的感觉,甚至有一种读完这本书自身就可以在技术上有更深的造诣的幻想:)。但是读完附录确实影响到了我对于学习网络编程的一些想法和更深入的思考。

譬如,附录的开头就提到了网络编程究竟是什么?原本的我读了几本网络编程的书,也天真的以为就是理解并熟悉一般的服务端编程的流程:创建套接字,绑定ip/port,监听,接受连接,具体读写套接字,最后关闭套接字。总之就是捣鼓这些网络编程相关的API。但是陈硕大佬思想给我的想法开辟了另一个思路。本人之前在敲一些小例子的时候也经常进行重复性的工作,比如创建、绑定这些,也思考过适当对这些重复性的工作进行简单的封装。减少不必要的工作量。陈硕认为“程序员的主要工作是在事件处理函数中实现业务逻辑,而不是和Socket API‘较劲’”。他实现的muduo网络库就是贯彻了这个思想的,所以他本人也说自己在进行网络程序开发的过程中只用过两次Socket API,其他时候都是使用封装好的网络库。

第二是关于学习网络编程的几个层次,这里列举一下书中提到的几个层次:
1.读过教程和文档,做过练习
2.熟悉本系统TCP/IP协议栈的脾气
3.自己写过一个简单的TCP/IP stack

关于第一个层次相信大多数对服务端编程感兴趣的同学们都经历过了,而第二个层次可能是我们这些学生比较欠缺的,熟悉TCP/IP协议栈参数设置与优化是开发高性能网络程序的必备条件,同时如果在工作中遇到比较复杂的网络问题的时候也可以较快的解决。

本文作为阅读该书的开篇,也算是笔者监督自身学习的开始:)