20155317 《Java程序设计》实验五网络编程与安全实验报告
20155317 《Java程序设计》实验五网络编程与安全实验报告
遇到问题
在刚开始启动客户端或者服务端时,出现了一系列的错误情况,总是提示异常信息

后来经过询问同学,反应将端口号修改一下,但要大于1024,就可以成功运行但是并不能成功

后来经过上网查证,发现问题的本源在于端口号是否被占用,曾经打开过的服务端和客户端会在后台继续运行,占用端口。
出现address already in use: jvm_bind这个错误后,我们在任务栏的空白处点击鼠标右键,然后再弹出菜单里选择【任务管理器】选项,如下图所示。

打开电脑的任务管理器后,直接按下j键,定位找到【Java(TM) Platform SE binary】这个进程,此时我们发现有2个这个进程,这就是程序出现aleready in use:jvm_bind错误的原因。如下图所示。

选中其中的一个Java(TM) Platform SE binary进程,然后右键,选择弹出菜单里的【结束任务】选项就可以关闭该进程了,或者选中【Java(TM) Platform SE binary】这个进程后,直接点击右下角的【结束任务E】同样可以结束进程,如下图所示。

结束Java(TM) Platform SE binary这个进程后,在次运行就可以成功
实验内容
实验一
1.两人一组结对编程:
参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA
1.结对实现中缀表达式转后缀表达式的功能 MyBC.java
2.结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java
3.上传测试代码运行结果截图和码云链接


实验二
结对编程: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的功能计算后缀表达式的值,把结果发送给客户端
- 客户端显示服务器发送过来的结果

实验说明
本次实验我的结对编程对象是20155317 王新玮,我负责编写客户端代码,她负责编写服务器代码。这次实验我主要是通过网上查找资料进行的学习,除此之外本学期所学的计算机网络对我也有一定的帮助,他们紧密的绑定与一些服务,通常这些端口的通讯明确表明了某种服务的协定。此外对于链接超时2的问题,通过学长的博客知道了可以多换几个网络试一试,也可以搭档两个人同时都连一个热点。但是总的来说这次完成的不是很好,还有非常多需要改进的地方。
20155317 《Java程序设计》实验五网络编程与安全实验报告的更多相关文章
- 20155326 《Java程序设计》实验五网络编程与安全实验报告
20155326 <Java程序设计>实验五网络编程与安全实验报告 实验内容 任务一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- 20155320 《Java程序设计》实验五网络编程与安全实验报告
20155320 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- 20155339 《Java程序设计》实验五网络编程与安全实验报告
20155339 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- 20162328WJH实验五网络编程与安全实验报告
20162328WJH实验五网络编程与安全实验报告 一.实验五 网络编程与安全-1 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能 ...
- 20155338 《JAVA程序设计》实验五网络编程与安全实验报告
20155338 <JAVA程序设计>实验五网络编程安全实验报告 实验内容 实验一: •两人一组结对编程: •结对实现中缀表达式转后缀表达式的功能 MyBC.java •结对实现从上面功能 ...
- 20155324 《Java程序设计》实验五 网络编程与安全
20155324 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上面功能中获取的表达式中 ...
- #《JAVA程序设计》 20155214 实验五 网络编程与安全
<JAVA程序设计> 20155214 实验五 网络编程与安全 实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验要求 要求一 结对实现中缀表达式转后缀 ...
- 20155301 《Java程序设计》实验五网络编程与安全
20155301 <Java程序设计>实验五网络编程与安全 实验内容 实验1: 两人一组结对编程:参考http://www.cnblogs.com/rocedu/p/6766748.htm ...
- 20155308 《Java程序设计》实验五 网络编程与安全
20155308 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.ht ...
随机推荐
- Python 及其基础语法
重新开始玩 Python,打算就是学完实验楼的"Python3 简明教程",然后就可以玩点小项目,先前学了点 Python2 就不管它啦. 以上. 认识 Python Python ...
- Vim常用命令记录
(本文仅记录了Vim常用的按键功能和操作,用于备忘和查阅.若为Vim小白,建议先通过列出的参考资源获得对Vim更全面的了解.Vi 是几乎所有Linux发行版都支持的文字编辑工具,也是许多Linux下工 ...
- android--简单的电话拨号功能
方法一. 1.创建一个callphone项目 2.在string.xml文件中添加text名称的配置
- 【RabbitMQ】3、工作队列模式(work模式)
上一篇博客的作为rabbitMQ的入门程序,也是简单队列模式,一个生产者,一个消费者,今天这篇博客介绍work模式,一个生产者,多个消费者,下面的例子模拟两个消费者的情况. 图示: 一 ...
- Ubuntu下命令行安装jdk,android-studio,及genymotion虚拟机来进行android开发
安装JDK 从oracle官网下最新版的linux64位的jdk包(现在最新为jdk-8u92-linux-x64.tar.gz) 命令如下 新建文件夹-解压 sudo mkdir /usr/lib/ ...
- Mac版Mysql Workbench不展示Schema
Mac版的Mysql Workbench会不展示Schema,如下图 操作如下 cd ~/Library/Application\ Support/MySQL/Workbench/ rm wb_sta ...
- 五子棋项目总结 JavaScript+jQuery(插件写法)+bootstrap(模态框)
Html部分(界面): 1.五子棋棋盘由canvas完成: 2.两个按钮,样式由bootstrap完成: 3.菜单按钮对应的模态框,可以选择游戏模式:玩家自由对战,和电脑对战,还可以指定谁先执子和哪个 ...
- jQuery on()方法绑定动态元素的点击事件实例代码浅析
之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态 ...
- Xcode 5.1安装插件:规范凝视生成器VVDocumenter
类似java的多行凝视! 安装过程: 1.前往GitHub下载project文件:VVDocumenter-Xcode 2.用Xcode打开project,Command + B Build成功后,能 ...
- git add用法
git add命令是将工作区内容添加到暂存区.git commit 将暂存区内容添加到版本库. git add -A 提交所有变化 git add -u 提交被修改(modified)和被删除(d ...