2017-2018-2 20165325 实验五《网络编程与安全》实验报告
两人一组结对编程:
测试代码运行结果截图如下:
上图为MyBC.java功能截图;
上图为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/
解决办法:
1、网络编程时未正确捕获java.net.SocketException, 客户端先关闭就会报这个异常;(检查发送数据是否符合服务器接收格式,不然的话服务器会自动断开连接,这样,socket就会被关闭,那么你就不能使用IO流读取数据,这样就会报这个错误)
2、数据库和应用服务器的网段不同(这个查看一下,可能性较小)
3、好像说防火墙的比较多。。。。(试一下,关闭)
4、大部分是网络的原因。提交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
优质内容筛选与推荐>>