就当是迷你版的UNP吧

UNP很好,非常好,太好了。

UNIX/Linux下的网络编程是无法避免Richard StevensUNP的。但是说实在的,UNP太厚实了,是滴,全面,细腻是很好滴,但是对于初学者们来说,往往更重要的是尽快对socket编程上手,我想基本上只有还算上过《计算机网络》这门课的,对网络基本原理,OSI模型,对TCP/IP基本概念还是有的吧,那么接下来就可以写socket,不一定要写的多好多优雅,考虑多全面,作为初学者,您不能要求自己太高,这并不是浮躁。对于学编程,尤其是定领域技术的编程,我一贯的主张就是要尽快统观全局,对全局的每个部分最关键的概念、编程接口和编程结构有简明但不失深入的了解,我窃称之为:第一阶段。然后我们就有基础和信心去啃大砖头,比如UNP,同时进行深入的实践和调试,这是第二阶段第三阶段,就是直接上项目吧,也可以去调调开源的代码。 

第一阶段,时间最好要控制在3~5天之内,当然像The Definitive Guide to Linux Network Programming(下面简称DGLNP)这样的英文书,还是电子版的,就发挥下传统美德,硬着头皮一周最不济10天看完吧。时间越短越不会遗忘,同时会觉得有阅读的成就感。 

第二阶段,就可以搬起UNP来啃了,花多少时间看自己的悟性吧。反正我还在-ing。这时候Stevens那种一丝不苟、细腻推敲、深入浅出,不但可以弥补之前第一阶段留下的知识、经验的漏洞,还可以潜移默化培养我们思维的严谨细腻品质。。。 
   
♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠

上面八卦了。DGLNP就是这样一本适合第一阶段的书,对于网络编程,关键有三: 
   
   A. 要理解网络组成原理与体系结构; 
   B. 要理解协议的特点及各种协议之间的关系/对比; 
   C. 有了前两个,就要开始熟悉API运用。 
   
DGLNP
基本上就是按三个面来写的。A算是最基本的了吧,比如俺们都搞CS的,不会connection-orientedconnectionless的概念都没有吧,不管有没有,作者告我们,Ethernet要懂吧,网络地址要懂吧,TCP/UDP/IP是啥,必须滴对于B,这本书没特地的讲,而是揉合在C里面一起讲,这也靠谱,其实也简单,说白了就是TCP是面向连接的可靠报文服务,UDP不可靠,它们又都以IP datagram为基础。反映到编程接口(API)上,程序怎么表示这些概念,怎么描述这些不同呢?知道程序的表示法——而不是俺们银类的自然语法描述法——之后,就完全可以大刀长枪搞具体运用了,于是自然而然引入client-server模型了,再挖掘Unix/Linux系统特点——尤其,I/O..... 

我喜欢简洁直接,喜欢扼要。尤其是初入门的时候。。当然,话还得说回来,UNIX/Linux 网络编程是水很深的东西,所以标题说了,就当是迷你版的UNP吧。任重而道远。程序猿的脚步是不会停的。。。。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值