天天看點

python網絡程式設計初級

網絡程式設計的專利權應該屬于Unix,各個平台(如windows、Linux等)、各門語言(C、C++、Python、Java等)所實作的符合自身特性的文法都大同小異。在我看來,懂得了Unix的socket網絡程式設計,其他的形式的網絡程式設計方法也就知道了。這句話說得還不太嚴謹。準确的應該說成懂得了socket程式設計的原理,網絡程式設計也就知道了,不同之處就在于每個平台,每個語言都有自己專享的文法,我們直接靈活套用就行了。

下面是用python實作的最基本的網絡程式設計的例子,即依托于用戶端-伺服器的架構,實作用戶端與伺服器之間的單向“資料流通”。我們分别用兩個方法來實作,一個方法是最原始的socket程式設計,另一個方法是利用python的面向對象對第一種方法進行封裝實作,目的是減少實作透明性,便于快速開發。

要求:用戶端輸入資料,發送到服務端,伺服器端生成(時間戳+資料)的封裝資料回應用戶端。由于socket程式設計包括兩種:面向連接配接的和無連接配接的,這兩種分别對應TCP資料流和UDP資料封包。是以,我們兩種方法都進行實作。

一、Python socket程式設計

面向連接配接的TCP socket程式設計:

無連接配接的UDP socket程式設計

二、基于封裝類SocketServer的網絡程式設計