


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Python實(shí)現(xiàn)異步IO的示例2.多路復(fù)用io監(jiān)聽內(nèi)核事件,事件觸發(fā)通過回調(diào)函數(shù);
3.用戶態(tài)代碼采取事件循環(huán)的方式獲取事件,執(zhí)行事件的回調(diào)函數(shù);
importselectors
importsocket
importtime
#fromasynrequestimportParserHttp
classasynhttp:
def__init__(self):
self.selecter=selectors.DefaultSelector()
defget(self,url,optiondict=None):
globalreqcount
reqcount+=1
s=socket.socket()
s.setblocking(False)
try:
s.connect(('',5555))
exceptBlockingIOError:
pass
requset='GET%sHTTP/1.0\r\n\r\n'%url
callback=lambda:self.send(s,requset)
self.selecter.register(s.fileno(),selectors.EVENT_WRITE,callback)
defsend(self,s,requset):
self.selecter.unregister(s.fileno())
s.send(requset.encode())
chunks=[]
callback=lambda:self.recv(s,chunks)
self.selecter.register(s.fileno(),selectors.EVENT_READ,callback)
defrecv(self,s,chunks):
self.selecter.unregister(s.fileno())
chunk=s.recv(1024)
ifchunk:
chunks.append(chunk)
callback=lambda:self.recv(s,chunks)
self.selecter.register(s.fileno(),selectors.EVENT_READ,callback)
else:
globalreqcount
reqcount-=1
request_first,request_headers,request_content,_=ParserHttp.parser(b''.join(chunks))
print("解析數(shù)據(jù):",request_first,request_headers,request_content)
print((b''.join(chunks)).decode())
return(b''.join(chunks)).decode()
starttime=time.time()
reqcount=0
asynhttper=asynhttp()
asynhttper.get('/bar')
asynhttper.get('/foo')
whilereqcount:
events=asynhttper.selecter.select()
forevent,maskine
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車銷售合同協(xié)議書
- 物資采購合同安全協(xié)議書
- 合同洽談協(xié)議書模板圖片
- 街邊店面物業(yè)合同協(xié)議書
- 2025年中國(guó)紅景天苷項(xiàng)目商業(yè)計(jì)劃書
- 天氣美術(shù)課件圖片
- 重慶鋁鑄汽車零部件項(xiàng)目申請(qǐng)報(bào)告
- 中國(guó)有機(jī)硅DMC項(xiàng)目商業(yè)計(jì)劃書
- 汽修廠門衛(wèi)合同協(xié)議書
- 安全方針課件
- 鉗工(高級(jí))理論考試(重點(diǎn))題庫300題(含答案解析)
- GB/T 44289-2024農(nóng)村公共法律服務(wù)基本規(guī)范
- 《剪映專業(yè)版:短視頻創(chuàng)作案例教程(全彩慕課版)》 課件 第8章 創(chuàng)作商業(yè)廣告
- 2024秋期國(guó)家開放大學(xué)《公共行政學(xué)》一平臺(tái)在線形考(形考任務(wù)一至三)試題及答案
- 富士相機(jī)FUJIFILM X100T用戶手冊(cè)
- 護(hù)理核心制度搶救制度
- 廣東省東莞市(2024年-2025年小學(xué)三年級(jí)語文)人教版期末考試(下學(xué)期)試卷(含答案)
- 化工和危險(xiǎn)化學(xué)品重大事故隱患考試試題(后附答案)
- 電子化學(xué)品工廠設(shè)計(jì)規(guī)范(征求意見稿)
- 2024-2025學(xué)年新教材高中政治 第三單元 全面依法治國(guó) 9.1 科學(xué)立法教案 部編版必修3
- 烘焙食品廠生產(chǎn)員工手冊(cè)
評(píng)論
0/150
提交評(píng)論