python網(wǎng)絡(luò)編程知多少?【python入門每日一個知識點(diǎn)66期】
一般初學(xué)者學(xué)習(xí)Python網(wǎng)絡(luò)編程,都會覺得難不好懂,一般來講要做Python網(wǎng)絡(luò)編程是需要懂Python基礎(chǔ)的,以及也要學(xué)習(xí)web的知識和http協(xié)議,在這過程中你可以試著寫些小爬蟲,能讓自己在學(xué)習(xí)中有正反饋,今天我們來看一看Python網(wǎng)絡(luò)編程。
【Python入門每日一個知識點(diǎn)66期主題】Python網(wǎng)絡(luò)編程知多少?
在網(wǎng)絡(luò)編程中德一個基本組件就是套接字。套接字主要是兩個程序之間的信息通道。
套接字包括兩個:服務(wù)器套接字和客戶機(jī)套接字。創(chuàng)建一個服務(wù)器套接字后,讓它等待連接。這樣它就在某個網(wǎng)絡(luò)地址處監(jiān)聽。
一個套接字就是一個socket模塊中socket類的實(shí)例。它的實(shí)例化需要3個參數(shù):第一個參數(shù)是地址族(默認(rèn)是socket.AF_INET);第2個參數(shù)是流(socket.SOCK_STREAM,默認(rèn)值)或數(shù)據(jù)報(socket.SOCK_DGRAM)套接字。第三個參數(shù)是使用的協(xié)議(默認(rèn)是0)。
socket起源于Unix,在Unix一切皆文件的哲學(xué)的思想下,socket是一種"打開—讀/寫—關(guān)閉"模式的實(shí)現(xiàn),服務(wù)器和客戶端各自維護(hù)一個"文件",在建立連接打開后,可以向自己文件寫入內(nèi)容供對方讀取或者讀取對方內(nèi)容,通訊結(jié)束時關(guān)閉文件。socket的英文原義是“插槽”或“插座”,就像我們家里座機(jī)一樣,如果沒有網(wǎng)線的那個插口,電話是無法通信的。Socket是實(shí)現(xiàn)TCP,UDP協(xié)議的接口,便于使用TCP,UDP。
資深的Python開發(fā)從業(yè)者建議:
基本的比如網(wǎng)絡(luò)層次結(jié)構(gòu),每一層的工作原理,數(shù)據(jù)傳輸方式,網(wǎng)絡(luò)協(xié)議,要有個基本了解。其次,TCP/IP這個很重要,推薦先看看《計算機(jī)網(wǎng)絡(luò)》。
Python 提供了兩個級別訪問的網(wǎng)絡(luò)服務(wù):
- 低級別的網(wǎng)絡(luò)服務(wù)支持基本的 Socket,它提供了標(biāo)準(zhǔn)的 BSD Sockets API,可以訪問底層操作系統(tǒng)Socket接口的全部方法。
- 高級別的網(wǎng)絡(luò)服務(wù)模塊 SocketServer, 它提供了服務(wù)器中心類,可以簡化網(wǎng)絡(luò)服務(wù)器的開發(fā)。
【更多擴(kuò)展閱讀】Web APP編程模型和IO策略
《Python入門每日一個知識點(diǎn)》欄目是馬哥教育Python年薪20萬+的學(xué)員社群特別發(fā)起,分享Python工具、Python語法、Python項目等知識點(diǎn),幫助大家快速的了解Python學(xué)習(xí),快速步入Python高薪的快車道。
【更多擴(kuò)展閱讀】