20201331 黃文剛 實驗三

2022-09-07 09:36:13 字數 1238 閱讀 6925

20201331 《python程式設計》實驗三報告

課程:《python程式設計》

班級: 2013

姓名: 黃文剛

學號:20201320

實驗教師:王志強

實驗日期:2023年5月28日

必修/選修: 公選課

1.實驗內容

建立服務端和客戶端,服務端在特定埠監聽多個客戶請求。客戶端和服務端通過socket套接字(tcp/udp)進行通訊。

(1)建立服務端和客戶端,選擇乙個通訊埠,用python語言程式設計實現通訊演示程式;

(2)要求包含檔案的基本操作,例如開啟和讀寫操作。

(3)要求傳送方從檔案讀取內容,加密後並傳輸;接收方收到密文並解密,儲存在檔案中。

(4)程式**託管到碼雲。

2.實驗過程及結果

先初始化伺服器,令伺服器連線本地ip位址和埠,建立伺服器端和客戶端的通訊,設定伺服器可以監聽多個客戶請求,通訊的內容要存放在檔案中,且在訊息傳送前後進行加解密

在客戶端這裡匯入socket模組,建立套接字,連線遠端位址(s.connect()),連線後傳送和接收資料(s.sendall(),s.recv()),傳輸完畢,關閉套接字(s.close())

再在伺服器端匯入socket模組,建立套接字,繫結套接字到本地ip與埠(s.bind()),開始監聽連線(s.listen()),進入迴圈,不斷接受客戶端的連線請求(s.accept()),然後接收傳來的資料,並傳送給對方資料(s.recv(),s.sendall()),傳輸完畢後,關閉套接字(s.close())

先使用該**進行簡單的連線,確保可以通訊之後,再在客戶端建立乙個檔案send.txt,將需要傳輸的訊息寫入檔案,通訊前將檔案的內容讀出,再進行傳輸。伺服器端收到該訊息後,建立乙個檔案recieve.txt並將通訊內容寫入檔案中。

最後新增加解密的操作,先從老師給的鏈結上找到最簡單的加解密方法--base64,將該模組匯入,在客戶端進行通訊前對訊息使用base64.b32encode()函式加密後再進行傳輸,在伺服器端再使用base64.b32decode()函式對收到的訊息進行解密,解密後再儲存至檔案中。

實驗過程中遇到的問題和解決過程

問題1:計算機被積極拒絕

問題2解決方案:由於使用了乙個一關閉的埠導致

4.push**到碼雲

其它感悟

總結還是要做的呀

實驗三 黃厚銘202083450067

實驗1 實驗2 include include 實驗3 include include intmain else continue if x 1 j 1 if x 1 j 1 5 0 else if x 1 j 1 5 0 j 1 else if x 1 j 1 5 0 j 1 x 1 printf...

Linux 實驗三 檔案系統與操作

熟悉並掌握linux檔案系統及其相關操作。ubantu或centos linux檔案系統目錄結構 檔案索引節點 硬鏈結與軟鏈結 檢視磁碟相關資訊 掛載檔案與解除安裝檔案 檔案i o list iln 鏈結物件 鏈結檔案ln s 目錄名 檔名ln s 鏈結物件 鏈結檔案mount dev sda1 h...

WinCE實驗教程之三資料夾結構

這裡所述的資料夾結構,不是 wince 系統的資料夾結構,而是整合開發環境 platform builder 的資料夾結構,該資料夾結構十分複雜,共有 3萬多個檔案,2400 多個子資料夾,如果不清楚的話在以後的開發過程當中將會帶來很大的麻煩,也時甚至會發生找不到檔案的現象。對於這個資料夾結構,我們...