socket編程不比單機(jī)編程,它至少涉及兩個(gè)角色即客戶(hù)端和服務(wù)端,在socket的運(yùn)行中由于它涉及了網(wǎng)絡(luò)上的n多設(shè)備,只要其中的一個(gè)設(shè)備有問(wèn)題,就會(huì)可能導(dǎo)致程序出問(wèn)題。
   
   作為初學(xué)網(wǎng)絡(luò)編程的程序員來(lái)說(shuō),我們應(yīng)該怎么高效地學(xué)習(xí)網(wǎng)絡(luò)呢?經(jīng)過(guò)個(gè)人幾年的學(xué)習(xí)和實(shí)踐,我覺(jué)得要進(jìn)行高效的網(wǎng)絡(luò)編程學(xué)習(xí),可以有以下是個(gè)步驟:

   1)馬上到www.python.org下下載python,然后花2~3天時(shí)間學(xué)習(xí)基本的python語(yǔ)法。
      python是一門(mén)優(yōu)秀的腳本語(yǔ)言,易學(xué)易用。這里是一篇為什么要選擇python的文章,讀者朋友可以參看。
      我個(gè)人覺(jué)得最重要的是在python,我們可以通過(guò)交互式來(lái)學(xué)習(xí)網(wǎng)絡(luò)編程,你敲一個(gè)命令就可以馬上獲得該命令的反應(yīng)。如果一開(kāi)始就用c/c++或者java來(lái)學(xué)習(xí)網(wǎng)絡(luò)編程的話(huà),那將是非常讓我泄氣的,因?yàn)槟惚仨毥鉀Q編譯、鏈接等問(wèn)題。

2)學(xué)習(xí)C/S交互模型,具體來(lái)說(shuō)客戶(hù)端的編程模型是怎樣的,服務(wù)端模型又是怎樣的,然后把該模型徹底消化成自己的語(yǔ)言。

3)學(xué)習(xí)socket的api,并且在python下不斷練習(xí)。

4)和一位同道者結(jié)成學(xué)習(xí)小組,大家共同學(xué)習(xí)網(wǎng)絡(luò)編程。比如在一段時(shí)間一個(gè)人編寫(xiě)客戶(hù)端,另一個(gè)編寫(xiě)服務(wù)端;再過(guò)一段時(shí)間,換一下角色;

5)參加網(wǎng)上討論組,比如google上的高性能網(wǎng)絡(luò)編程組。

(待續(xù))