随着局域网、Internet的发展,网络应用日益普及,越来越多的设备和网络扯上了关系,越来越多的研发人员都将TCP/IP的应用纳入了学习计划,但往往发现TCP/IP好像很复杂,学起来相当的困难。
现就本人经验,将快速学习的方法总结如下:
对于初学者,为了节约你的时间,应该这样学:
1、先去找简易教材,越薄越好,了解一些基本的概念和流程,暂停看书!
2、去找别人移植好直接能用的代码(开源或商业的),简单编译、配置一下,来个感性印象,了解是什么回事就行了!就此暂停!
3、再去看简易教材、幻灯片,重新看流程图和模块关联结构,知道整个协议是怎么组合、运作的;
4、对照程序功能模块,阅读实际代码,研究实际流程,了解别人每个功能是怎么实现的,自己写会怎么做,顺便学习、吸收下别人的编程技巧、风格;(这一步会花很多时间,如果想成为高手,多花点时间是应该的哦)
5、重新配置、编译、裁减适合自己的代码,把协议栈装入自己的系统
6、移植更多的应用程序、写自己的功能程序、做自己的系统!
-----------------------------------------------
书的评价:
《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书
只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由
《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程》
,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。
《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。
《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。
阅读(1001) | 评论(2) | 转发(0) |