20192305 2020-2021《数据结构与面向对象程序设计》实验四报告

20192305 2020-2021-1 《数据结构与面向对象程序设计》实验四报告

课程:《程序设计与数据结构》
班级: 1923
姓名: 王梓全
学号:20192305
实验教师:王志强
实验日期:2020年10月22日
必修/选修: 必修

1.实验内容

  • (1)Java Socket编程
    1.学习蓝墨云上教材《Java和Android编程》“第16章 输入/输出 ”和“第22章 网络”,学习JavaSocket编程
    2.结对编程。结对伙伴A编写客户端SocketClient.java,结对伙伴B编写服务器端。
  • (2)Java和密码学
  • (3)结对编程,结对伙伴A编写有理数计算器。结对伙伴B编写复数计算器。
  • (4)结对编程,结对伙伴A编程实现客户端,结果伙伴B实现服务器端。
    客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果;
  • (5)结对编程,结对伙伴B编程实现客户端,结果伙伴A实现服务器端。
    客户端通过键盘输入一个复数计算的公式,并把该公式以字符串的形式发送给伙伴A(服务器端),服务器端根据字符串计算出结果,并把结果返回给客户端B,B收到结果后输出结果。

2. 实验过程及结果

Java Socket编程

1.学习蓝墨云上教材《Java和Android编程》“第16章 输入/输出 ”和“第22章 网络”,学习JavaSocket编程
2.结对编程。结对伙伴A编写客户端SocketClient.java,结对伙伴B编写服务器端。

(2)Java和密码学

凯撒密码:



DES算法:




RSA算法:



MD5

(3)结对编程,结对伙伴A编写有理数计算器。结对伙伴B编写复数计算器。

(4)远程有理数计算器

结对编程,结对伙伴A编程实现客户端,结果伙伴B实现服务器端。客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果;

(5)远程复数计算器:

结对编程,结对伙伴B编程实现客户端,结果伙伴A实现服务器端。客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴A(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端B,B收到结果后输出结果。



3. 实验过程中遇到的问题和解决过程

  • 问题1:与结队伙伴连接超时错误
  • 问题1解决方案:将电脑连接至同意网络之下,并同时记录相应ip地址,进行连接
  • 问题2:在服务器与客户端传输结果中显示为乱码
  • 问题2解决方法:将程序中与下面的UTF-8均改变为GBK,就可以实现程序已中文形式输出

其他(感悟、思考等)

这次实验很复杂,且具有难度,在实践的过程中遇到了很多困难,需要查较多的资料,跟需要细心,要针对不同情况对自己的代码进行修改

参考资料

posted @ 2020-11-01 09:53  王梓全  阅读(98)  评论(0编辑  收藏  举报