學習網路程式設計的十個步驟
阿新 • • 發佈:2019-02-04
經過多年的網路程式設計實踐之後,個人覺得初學網路程式設計者可以從以下幾個步驟開展:
1)下載一個可以互動的學習工具,通過這個與這個工具互動,我們可以及時的學到每個api的結果如果。我個人強烈推薦一個互動好工具,即python,下載地址http://www.python.org 對於有c/c++或java基礎的朋友通過一兩個禮拜的時間就可以上手了,另外個人建議初學者可以學習dive into python。
2)掌握網路程式設計中會用到的幾個基本概念和內涵,比如IP地址,port號,socket等
3)記住和消化網路程式設計C/S模型,把server和client端程式設計的常用模式理解和消化
4)花幾天時間學習socket api集,api集可以分為下面幾大類:
建立 socket bind listen accept
收發 read/recv/recvfrom write/send/sendto
關閉 close shutdown
引數 getsockopt/setsockopt
地址 gethostbyaddr getaddrbyhost,...
在學習這些api時候,可以先關注在函式功能,引數意義上
5)結合python互動平臺,實踐socket api的用法,比如socket函式怎麼使用,bind怎麼使用等等。在互動過程中,我們可以變換引數,看看呼叫結果如何。比如,
建立一個tcp socket的語法如下:
socket(AF_INET,SOCK_STREAM)
建立一個udp socket的語法如下:
socket(AF_INET,SOCK_DGRAM)
6)學習socket server端程式設計實現簡單規約比如echo,time等,然後通過cmd中的telnet來測試。
7)學習I/O模型,比如阻塞、非阻塞和反應式(select,poll,WaitForMultipleObject)等
8)學習Richard Stevens的《Unix網路程式設計》,深入學習其中的api原理以及服務端設計原理,並通過程式碼編寫。
9)下載高效能網路程式設計框架 twisted,筆者強烈推薦,它將使你的網路程式設計效率提高10倍以上。
10)學習設計模式、作業系統知識比如執行緒、程序、同步等。
1)下載一個可以互動的學習工具,通過這個與這個工具互動,我們可以及時的學到每個api的結果如果。我個人強烈推薦一個互動好工具,即python,下載地址http://www.python.org 對於有c/c++或java基礎的朋友通過一兩個禮拜的時間就可以上手了,另外個人建議初學者可以學習dive into python。
2)掌握網路程式設計中會用到的幾個基本概念和內涵,比如IP地址,port號,socket等
3)記住和消化網路程式設計C/S模型,把server和client端程式設計的常用模式理解和消化
4)花幾天時間學習socket api集,api集可以分為下面幾大類:
建立 socket bind listen accept
收發 read/recv/recvfrom write/send/sendto
關閉 close shutdown
引數 getsockopt/setsockopt
地址 gethostbyaddr getaddrbyhost,...
在學習這些api時候,可以先關注在函式功能,引數意義上
5)結合python互動平臺,實踐socket api的用法,比如socket函式怎麼使用,bind怎麼使用等等。在互動過程中,我們可以變換引數,看看呼叫結果如何。比如,
建立一個tcp socket的語法如下:
socket(AF_INET,SOCK_STREAM)
建立一個udp socket的語法如下:
socket(AF_INET,SOCK_DGRAM)
6)學習socket server端程式設計實現簡單規約比如echo,time等,然後通過cmd中的telnet來測試。
7)學習I/O模型,比如阻塞、非阻塞和反應式(select,poll,WaitForMultipleObject)等
8)學習Richard Stevens的《Unix網路程式設計》,深入學習其中的api原理以及服務端設計原理,並通過程式碼編寫。
9)下載高效能網路程式設計框架
10)學習設計模式、作業系統知識比如執行緒、程序、同步等。