千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python中SocketServer是什么?

python中SocketServer是什么?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-13 08:24:50 1699835090

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):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT