20172332 2017-2018-2 《程序設計與數據結構》實驗五報告
20172332 2017-2018-2 《程序設計與數據結構》實驗五報告
課程:《程序設計與數據結構》
班級: 1723
姓名: 於欣月
學號:20172332
實驗教師:王誌強
實驗日期:2018年6月13日
必修/選修: 必修
1.實驗內容
①結對實現中綴表達式轉後綴表達式的功能 MyBC.java
結對實現從上面功能中獲取的表達式中實現後綴表達式求值的功能,調用MyDC.java
上傳測試代碼運行結果截圖和碼雲鏈接②結對編程:1人負責客戶端,一人負責服務器
註意責任歸宿,要會通過測試證明自己沒有問題
基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
客戶端讓用戶輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為後綴表達式,把後綴表達式通過網絡發送給服務器
服務器接收到後綴表達式,調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲鏈接③加密結對編程:1人負責客戶端,一人負責服務器
註意責任歸宿,要會通過測試證明自己沒有問題
基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
客戶端讓用戶輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為後綴表達式,把後綴表達式用3DES或AES算法加密後通過網絡把密文發送給服務器
服務器接收到後綴表達式表達式後,進行解密(和客戶端協商密鑰,可以用數組保存),然後調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲鏈接④密鑰分發結對編程:1人負責客戶端,一人負責服務器
註意責任歸宿,要會通過測試證明自己沒有問題
基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
客戶端讓用戶輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為後綴表達式,把後綴表達式用3DES或AES算法加密通過網絡把密文發送給服務器
客戶端和服務器用DH算法進行3DES或AES算法的密鑰交換
服務器接收到後綴表達式表達式後,進行解密,然後調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲鏈接⑤完整性校驗結對編程:1人負責客戶端,一人負責服務器
註意責任歸宿,要會通過測試證明自己沒有問題
基於Java Socket實現客戶端/服務器功能,傳輸方式用TCP
客戶端讓用戶輸入中綴表達式,然後把中綴表達式調用MyBC.java的功能轉化為後綴表達式,把後綴表達式用3DES或AES算法加密通過網絡把密文和明文的MD5値發送給服務器
客戶端和服務器用DH算法進行3DES或AES算法的密鑰交換
服務器接收到後綴表達式表達式後,進行解密,解密後計算明文的MD5值,和客戶端傳來的MD5進行比較,一致則調用MyDC.java的功能計算後綴表達式的值,把結果發送給客戶端
客戶端顯示服務器發送過來的結果
上傳測試結果截圖和碼雲鏈接
2. 實驗過程及結果
前期準備:
1.查找到自己的IP地址,為進行服務器和客戶端之間的連接做準備。(Windows:先用win+R打開,輸入cmd,再輸入IPconfig查找IP地址)
2.搭建服務器和客戶端,並成功連接。
過程:
因為我們是三人一組,所以客戶端和服務器都有相應的代碼。
一.作為客戶端。
- 1.(1)
- MyDC的代碼就是四則運算中Cal類的代碼,具體碼雲中有。
- 2.(2)
- 20172313輸入中綴轉後綴,20172332接受後綴並計算結果返回給20172313
- 3.(3)
- 20172332給20172313傳加密後的後綴,20172313解密後計算結果並返回給20172332
- 4.(4)
- 20172332給20172313傳,20172313給20172332傳結果
- 5.(5)
二.作為服務器。
- 1.(1)
- 第一個實驗不需要服務器和客戶端。
- 2.(2)
- 第二個實驗只需要把write的內容改為需要返回的結果。
- 3.(3)
- 4.(4)
- 5.(5)
3. 實驗過程中遇到的問題和解決過程
問題1:
問題1解決方案:詳情見
其他(感悟、思考等)
- 這次的實驗與Android有關,因為都是基礎且還與課本息息相關,感覺不是很難。
- 主要問題就是好多知識都是新的,比如跳轉活動所用的Intent,不知道它就對於活動跳轉這種東西無從下手,所以還是需要多多學習和練習。
參考資料
- [Java 密碼學算法]http://www.cnblogs.com/rocedu/p/6683948.html)
20172332 2017-2018-2 《程序設計與數據結構》實驗五報告