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

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

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

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

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

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

(待續(xù))