python中SocketServer是什么?
本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。
1、概念
模塊SocketServer是標(biāo)準(zhǔn)庫(kù)提供的服務(wù)器框架的基石,這個(gè)框架包括BaseHTTPServer、SimpleHTTPServer、CGIHTTPServer、SimpleXMLRPCServer和DocXMLRPCServer等服務(wù)器,它們?cè)诨镜姆?wù)器的基礎(chǔ)上添加了各種功能。
2、分類
SocketServer包含4個(gè)基本的服務(wù)器:TCPServer(支持TCP套接字流)、UDPServer(支持UDP數(shù)據(jù)報(bào)套接字)以及更難懂的UnixStreamServer和UnixDatagramServer。后面3個(gè)可能不會(huì)用到。
3、使用方法
(1)使用模塊SocketServer編寫服務(wù)器時(shí),大部分的代碼都位于請(qǐng)求處理器中。每當(dāng)服務(wù)器收到客戶端的連接請(qǐng)求時(shí),都將實(shí)例化一個(gè)請(qǐng)求處理程序,并對(duì)其調(diào)用各種處理方法來處理請(qǐng)求。具體調(diào)用哪些方法取決于使用的服務(wù)器類和請(qǐng)求處理程序類;
(2)從請(qǐng)求處理類派生出子類,從而讓服務(wù)器調(diào)用一組自定義的處理方法。基本請(qǐng)求處理程序類BaseRequestHandler將所有操作都放在一個(gè)方法中——服務(wù)器調(diào)用方法handle。這個(gè)方法可通過屬性self.request來訪問客戶端套接字。
(3)處理的是流(使用TCPServer時(shí)很可能如此),可使用StreamRequestHandler類,它包含另外兩個(gè)屬性:self.rfile(用于讀取)和self.wfile(用于寫入)。你可使用這兩個(gè)類似于文件的對(duì)象來與客戶端通信。
在網(wǎng)絡(luò)通信中,我們有接觸到Socket的方法,在它的基礎(chǔ)上還有一種更為高級(jí)的使用,一般用在服務(wù)器的開發(fā)中,它就是SocketServer。對(duì)于一些比較復(fù)雜的程序,我們一般會(huì)選擇這種框架進(jìn)行處理,這樣能減少很多開發(fā)的時(shí)間。
以上就是python中SocketServer的基本介紹,相信大家對(duì)于這種高難度的服務(wù)器框架學(xué)習(xí)起來比較困難,不過我們可以就一些基礎(chǔ)知識(shí)點(diǎn)進(jìn)行了解。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。