版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【任務(wù)9-3】建立UDP通信獲取客戶購(gòu)物數(shù)量【任務(wù)描述】(1)在項(xiàng)目Unit09創(chuàng)建“9-3server.py”和“9-3client.py”兩個(gè)Python程序文件。(2)編寫(xiě)程序建立UDP通信獲取客戶購(gòu)物數(shù)量,即在客戶端輸入購(gòu)物數(shù)量,然后發(fā)送給服務(wù)器,服務(wù)器端收到數(shù)據(jù)后,再發(fā)送給客戶端輸出。【任務(wù)實(shí)施】在PyCharm項(xiàng)目Unit09中創(chuàng)建Python程序文件程序9-3server.py。在程序文件程序9-3server.py中編寫(xiě)程序代碼,實(shí)現(xiàn)所需功能。importsocket#導(dǎo)入Socket模塊sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#創(chuàng)建UDP套接字sock.bind(("127.0.0.1",6688))#綁定地址(host,port)到套接字print("綁定UDP到6688端口")data,addr=sock.recvfrom(1024)#接收數(shù)據(jù)sendData="購(gòu)買數(shù)量為:"+str(data)print(sendData)print("Receivedfrom:",addr)sock.sendto(sendData.encode(),addr)#發(fā)送給客戶端sock.close()#關(guān)閉服務(wù)器端套接字【任務(wù)實(shí)施】程序9-3server.py中使用socket.socket()方法創(chuàng)建套接字,其中參數(shù)設(shè)置為AF_INET和SOCK_DGRAM,表明創(chuàng)建的是UDP套接字,recvfrom()方法生成的data數(shù)據(jù)類型是byte類型。使用sendto()方法發(fā)送數(shù)據(jù)時(shí),發(fā)送的數(shù)據(jù)必須是byte類型,所以需要使用encode()函數(shù)將字符串轉(zhuǎn)換為byte類型。【任務(wù)實(shí)施】在PyCharm項(xiàng)目Unit09中創(chuàng)建Python程序文件程序9-3client.py。在程序文件程序9-3client.py中編寫(xiě)程序代碼,實(shí)現(xiàn)所需功能。importsocket#導(dǎo)入Socket模塊sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#創(chuàng)建UDP套接字data=input("請(qǐng)輸入購(gòu)買數(shù)量:")sock.sendto(data.encode(),("127.0.0.1",6688))#發(fā)送數(shù)據(jù)print(sock.recv(1024).decode())#打印接收數(shù)據(jù):sock.close()#關(guān)閉套接字【任務(wù)實(shí)施】由于接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù)其類型都是byte,程序9-3client.py的代碼中發(fā)送數(shù)據(jù)時(shí),使用encode()函數(shù)將字符串轉(zhuǎn)換為byte類型。而輸出數(shù)據(jù)時(shí),使用decode()函數(shù)將byte類型的數(shù)據(jù)轉(zhuǎn)換為字符串,方便用戶閱讀。運(yùn)行程序之前,先打開(kāi)2個(gè)Windows命令行窗口,第1個(gè)命令行窗口模擬UDP服務(wù)器端,第2個(gè)命令行窗口模擬UDP客戶端?!救蝿?wù)實(shí)施】在第1個(gè)命令行窗口的提示符“>”后輸入命令:pythonD:\PycharmProject\Unit09\9-3server.py,開(kāi)始運(yùn)行9-3server.py程序,此時(shí)該窗口中會(huì)出現(xiàn)“綁定UDP到6688端口”的文字。然后在第2個(gè)命令行窗口的提示符“>”后輸入命令:pythonD:\PycharmProject\Unit09\9-3client.py,開(kāi)始運(yùn)行9-3client.py程序,此時(shí)該窗口中出現(xiàn)“請(qǐng)輸入購(gòu)買數(shù)量:”提示文字,接著輸入購(gòu)買的數(shù)量,這里輸入“5”,然后按【Enter】鍵,【任務(wù)實(shí)施】此時(shí)第1個(gè)命令行窗口出現(xiàn)“購(gòu)買數(shù)量為:b'5’”和“Receivedfrom:('127.0.0.1',50003)”兩行提示文字,第2個(gè)命令行窗口出現(xiàn)“購(gòu)買數(shù)量為:b'5'”的提示文字?!救?/p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公益慈善晚會(huì)活動(dòng)策劃與實(shí)施合同4篇
- 2025年度互聯(lián)網(wǎng)內(nèi)容提供商ICP證年審全權(quán)委托服務(wù)合同3篇
- 二零二五年度生物科技研發(fā)農(nóng)民工就業(yè)服務(wù)合同4篇
- 電子商務(wù)平臺(tái)消費(fèi)者權(quán)益保護(hù)2025年度國(guó)際協(xié)調(diào)合同2篇
- 2025年度牛肝菌有機(jī)認(rèn)證與市場(chǎng)拓展合同
- 二零二五版昆明滇池度假區(qū)酒店管理合同3篇
- 二零二五年度農(nóng)業(yè)種植勞務(wù)作業(yè)承包合同范本3篇
- 2025年度塑料管材國(guó)際貿(mào)易爭(zhēng)端解決合同
- 2025年度私立學(xué)校校長(zhǎng)任期教育科研成果轉(zhuǎn)化合同
- 二零二五年度企業(yè)員工期權(quán)激勵(lì)合同范本
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測(cè) (一)化學(xué)試題(含答案)
- 人教版【初中數(shù)學(xué)】知識(shí)點(diǎn)總結(jié)-全面+九年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)教案
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學(xué)2023-2024學(xué)年七上期末數(shù)學(xué)試題(解析版)
- 2024-2025學(xué)年人教版七年級(jí)英語(yǔ)上冊(cè)各單元重點(diǎn)句子
- 2025新人教版英語(yǔ)七年級(jí)下單詞表
- 公司結(jié)算資金管理制度
- 2024年小學(xué)語(yǔ)文教師基本功測(cè)試卷(有答案)
- 未成年入職免責(zé)協(xié)議書(shū)
- 項(xiàng)目可行性研究報(bào)告評(píng)估咨詢管理服務(wù)方案1
- 5歲幼兒數(shù)學(xué)練習(xí)題
- 2024年全國(guó)體育單招英語(yǔ)考卷和答案
評(píng)論
0/150
提交評(píng)論