socket编程不比单机编程,它至少涉及两个角色即客户端和服务端,在socket的运行中由于它涉及了网络上的n多设备,只要其中的一个设备有问题,就会可能导致程序出问题。
   
   作为初学网络编程的程序员来说,我们应该怎么高效地学习网络呢?经过个人几年的学习和实践,我觉得要进行高效的网络编程学习,可以有以下是个步骤:

   1)马上到www.python.org下下载python,然后花2~3天时间学习基本的python语法。
      python是一门优秀的脚本语言,易学易用。这里是一篇为什么要选择python的文章,读者朋友可以参看。
      我个人觉得最重要的是在python,我们可以通过交互式来学习网络编程,你敲一个命令就可以马上获得该命令的反应。如果一开始就用c/c++或者java来学习网络编程的话,那将是非常让我泄气的,因为你必须解决编译、链接等问题。

2)学习C/S交互模型,具体来说客户端的编程模型是怎样的,服务端模型又是怎样的,然后把该模型彻底消化成自己的语言。

3)学习socket的api,并且在python下不断练习。

4)和一位同道者结成学习小组,大家共同学习网络编程。比如在一段时间一个人编写客户端,另一个编写服务端;再过一段时间,换一下角色;

5)参加网上讨论组,比如google上的高性能网络编程组。

(待续)