現(xiàn)在,網(wǎng)絡(luò)功能的強(qiáng)弱很大程度上決定了一個(gè)語言的成功與否。從Ruby,JavaScript,php身上都可以感受到這一點(diǎn)。Python的標(biāo)準(zhǔn)庫對互聯(lián)網(wǎng)開發(fā)的支持并不充分,這也是Django等基于Python的項(xiàng)目的出發(fā)點(diǎn):增強(qiáng)Python在網(wǎng)絡(luò)方面的應(yīng)用功能。這些項(xiàng)目取得了很大的成功,也是許多人愿意來學(xué)習(xí)Python的一大原因。但應(yīng)注意到,這些基于Python的項(xiàng)目也是建立在Python標(biāo)準(zhǔn)庫的基礎(chǔ)上的。
1)基于socket層的網(wǎng)絡(luò)應(yīng)用
socket是網(wǎng)絡(luò)可編程部分的底層。通過socket包,我們可以直接管理socket,比如說將socket賦予給某個(gè)端口(port),連接遠(yuǎn)程端口,以及通過連接傳輸數(shù)據(jù)。我們也可以利用SocketServer包更方便地建立服務(wù)器。
通過與多線程和多進(jìn)程配合,建立多線程或者多進(jìn)程的服務(wù)器,可以有效提高服務(wù)器的工作能力。此外,通過asyncore包實(shí)現(xiàn)異步處理,也是改善服務(wù)器性能的一個(gè)方案。
2)互聯(lián)網(wǎng)應(yīng)用
在實(shí)際應(yīng)用中,網(wǎng)絡(luò)的很多底層細(xì)節(jié)(比如socket)都是被高層的協(xié)議隱藏起來的。建立在socket之上的http協(xié)議實(shí)際上更容易也更經(jīng)常被使用。http通過request/responce的模式建立連接并進(jìn)行通信,其信息內(nèi)容也更容易理解。Python標(biāo)準(zhǔn)庫中有http的服務(wù)器端和客戶端的應(yīng)用支持(BaseHTTPServer包;urllib包,urllib2包),并且可以通過urlparse包對URL(URL實(shí)際上說明了網(wǎng)絡(luò)資源所在的位置)進(jìn)行理解和操作。
以上內(nèi)容為大家介紹了網(wǎng)絡(luò)功能對于Python的意義,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。