socket編程不比單機編程,它至少涉及兩個角色即客戶端和服務(wù)端,在socket的運行中由于它涉及了網(wǎng)絡(luò)上的n多設(shè)備,只要其中的一個設(shè)備有問題,就會可能導致程序出問題。
作為初學網(wǎng)絡(luò)編程的程序員來說,我們應(yīng)該怎么高效地學習網(wǎng)絡(luò)呢?經(jīng)過個人幾年的學習和實踐,我覺得要進行高效的網(wǎng)絡(luò)編程學習,可以有以下是個步驟:
1)馬上到www.python.org下下載python,然后花2~3天時間學習基本的python語法。
python是一門優(yōu)秀的腳本語言,易學易用。這里是一篇為什么要選擇python的文章,讀者朋友可以參看。
我個人覺得最重要的是在python,我們可以通過交互式來學習網(wǎng)絡(luò)編程,你敲一個命令就可以馬上獲得該命令的反應(yīng)。如果一開始就用c/c++或者java來學習網(wǎng)絡(luò)編程的話,那將是非常讓我泄氣的,因為你必須解決編譯、鏈接等問題。
2)學習C/S交互模型,具體來說客戶端的編程模型是怎樣的,服務(wù)端模型又是怎樣的,然后把該模型徹底消化成自己的語言。
3)學習socket的api,并且在python下不斷練習。
4)和一位同道者結(jié)成學習小組,大家共同學習網(wǎng)絡(luò)編程。比如在一段時間一個人編寫客戶端,另一個編寫服務(wù)端;再過一段時間,換一下角色;
5)參加網(wǎng)上討論組,比如google上的高性能網(wǎng)絡(luò)編程組。
(待續(xù))