兩人一組結對編程:html
測試代碼運行結果截圖以下:java
上圖爲MyBC.java功能截圖;git
上圖爲MyDC.java功能截圖;算法
MyBC.java : https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/MyBC.java數據庫
MyDC.java : https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/MyDC.java編程
TestMyBC.java : https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/Test/TestMyBC.java數組
TestMyDC.java : https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/Test/TestMyDC.java安全
注:上述代碼實現的是整數狀況下的加減乘除運算,若要求實現分數運算功能,詳見碼雲連接:分數功能的四則運算項目連接服務器
結對編程:1人負責客戶端,一人負責服務器網絡
測試代碼運行結果截圖以下:
上圖爲單機測試;
上圖爲客戶端測試;
服務器端測試截圖詳見搭檔博客。
Client.java:https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Client.java
Server.java:https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Server.java
加密結對編程:1人負責客戶端,一人負責服務器
測試結果截圖以下:
上圖爲單機測試(客戶端);
上圖爲單機測試(服務器);
上圖爲客戶端聯機測試;
服務器聯機測試見搭檔博客;
碼雲連接:
Client_2.java:https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Client_2.java
Server_2.java:https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Server_2.java
Skey.java:https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Skey.java
Skey_kb.java:https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Skey_kb.java
密鑰分發結對編程:1人負責客戶端,一人負責服務器
測試結果截圖如圖所示:
上圖爲單機測試(客戶端);
上圖爲單機測試(服務器);
上圖爲客戶端聯機測試;
服務器聯機測試見搭檔博客;
碼雲連接:
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Client_3.java
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/KeyAgree.java
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Key_DH.java
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Server_3.java
實驗五 網絡編程與安全-5
完整性校驗結對編程:1人負責客戶端,一人負責服務器
上圖爲單機測試(客戶端);
上圖爲單機測試(服務器);
上圖爲客戶端聯機測試;
服務器聯機測試見搭檔博客;
碼雲連接:
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Client_4.java
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/DigestPass.java
https://gitee.com/BESTI-IS-JAVA-2018/20165325/blob/master/Exp5/src/Server_4.java
在Test類的assertEquals()
中不能調用兩個StringBuffer類做比較,最好用.toString()
方法轉化爲字符串進行比較。
在檢查點1的開發中,我忽然想用一個「JAVA中的goto語句」實現。上網查詢連接以下:
http://blog.51cto.com/lavasoft/178997
參考連接:
https://blog.csdn.net/u013766398/article/details/51381852/
解決辦法:
一、網絡編程時未正確捕獲java.net.SocketException, 客戶端先關閉就會報這個異常;(檢查發送數據是否符合服務器接收格式,否則的話服務器會自動斷開鏈接,這樣,socket就會被關閉,那麼你就不能使用IO流讀取數據,這樣就會報這個錯誤)
二、數據庫和應用服務器的網段不一樣(這個查看一下,可能性較小)
三、好像說防火牆的比較多。。。。(試一下,關閉)
四、大部分是網絡的緣由。提交post的東西多,而後服務器接收就超時了(這個只能說通常可能性較小)
首先要明確的是,轉化有特定的條件。bytes在反序列化爲Object的前提是byte[]是經過ObjectOutputStream序列化的,不然直接將一個任意的byte[]轉換成Object時會報錯,錯誤信息爲:
java.io.StreamCorruptedException: invalid stream header:
轉化方法——Byte[] 2 Object:
(byte b[]) ObjectInputStream ois = new ObjectInputStream (new ByteArrayInputStream (b)); Object o = ois.readObject();
Object 2 Byte[]:
(Object obj) byte b[] = null; ByteArrayInputStream bais = new ByteArrayInputStream(); ObjectOutputStream oos = new ObjectOutputStream(bais); oos.writeObject(obj);
Java 密碼學算法:http://www.cnblogs.com/rocedu/p/6683948.html