20145129实验报告(五)

实验目的

  • TCP方式进行网络通讯,实现服务器与客户端。
  • 客户端与服务器连接,并实现数据交互。

    实验内容

    (一)实现服务器

  • 本次试验,小组中我做服务器。
  • 我将加密算法新建了一个类并和服务器的类打包在一起。
  • 服务器实现
package Server;
import java.net.*;
import java.io.*;
public class ComputeTCPServer{public static void main(String srgs[]) {ServerSocket sc = null;Socket socket=null;try {sc= new ServerSocket(4421);System.out.println("已开启端口:" + sc.getLocalPort());System.out.println("等待客户机连接...");socket = sc.accept();System.out.println("已连接到到客户机");BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);String   aline=in.readLine();System.out.println("已加密数据:"+aline);Dec_RSA decode=new Dec_RSA(aline);aline=decode.decodestring;System.out.println("接收到客户机消息:"+aline);out.println("Echo:" + aline);out.close();in.close();sc.close();} catch (Exception e) {System.out.println(e);}}
}
  • 加密算法
package Server;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.math.BigInteger;
import java.security.interfaces.RSAPrivateKey;
public class Dec_RSA{public String decodestring="";public Dec_RSA(String ctext) throws Exception{BigInteger c=new BigInteger(ctext);FileInputStream f=new FileInputStream("Skey_RSA_priv.dat");ObjectInputStream b=new ObjectInputStream(f);RSAPrivateKey prk=(RSAPrivateKey)b.readObject( );BigInteger d=prk.getPrivateExponent();BigInteger n=prk.getModulus();BigInteger m=c.modPow(d,n);byte[] mt=m.toByteArray();for(int i=0;i<mt.length;i++){decodestring+=(char)(mt[i]);}}
}

(二)实现客户端

  • 以下为组员博客链接:

    (三)建立连接并发送明文(有加密)

  • 如图:

    体会

  • 1、不太理解为什么用logic后的IP4,不过在解决下面一个问题后好像有些明白了。
  • 2、中途服务器与客户端连不上,用的手机热点,后来想起电脑可以手动创建局域网具体操作如下:
    • 打开网络和共享中心->管理无线网络->添加->创建临时网络->填写网络名和安全密钥->下一步->创建成功

- 右键创建的网络查看属性,可以看到IP地址为IP4(上文图中可见)

PSP

步骤 耗时 百分比
需求分析 5分钟 6.25%
设计 20分钟 25%
代码实现 20分钟 25%
测试 25分钟 31.25%
分析总结 10分钟 12.5%

转载于:https://www.cnblogs.com/l-cat/p/5470918.html

0145129实验报告(五)相关推荐

  1. 计算机组成原理实验load,计算机组成原理实验报告五

    计算机组成原理实验报告五 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 4.9 积分 广东工业大学广东工业大学实验报告 计算机学院 计算机科学与技术 ...

  2. c语言实验报告5数组,c语言实验报告五一维数组.doc

    c语言实验报告五一维数组 <C程序设计>课程实验报告 学院: 班级: 姓名: 学号: 实验设备:计算机1台2011年3月1日 实验项目名称一维数组 掌握一维数组的定义.初始化,以及一维数组 ...

  3. 实验报告五201521460014 综合渗透

    学   号   中国人民公安大学 Chinese people' public security university 网络对抗技术 实验报告   实验五 综合渗透     学生姓名 张旺尧 年级 2 ...

  4. python实训报告50000_Python程序设计 实验报告五

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名汤振宇学号3190505108 成绩 日期 2020.4.23 指导老师修宇 [实验名称]综合运用三种基本结构进行程序设计(综合性实 ...

  5. python综合实验报告_Python程序设计实验报告五:综合运用三种基本结构进行程序设计(综合性实验)...

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.4.22 指导老师修宇 [实验名称]综合运用三种基本结构进行程序设计(综合性实 ...

  6. java实验报告五_2019JAVA第五周实验报告

    Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.9.24 评分等级 实验三 String类的应用 一.实验目的 掌握类String类的使用: 学会使用JDK ...

  7. 王译潇20162314 实验报告五

    北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162314 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年6月9号 实验密级: 非密 ...

  8. c语言程序三角形实验报告,C语言程序设计实验报告五

    C程序设计实验报告四 姓名:赖玮 实验地点:家 实验时间:2020.04.23 一.实验目的与要求 1.熟练地掌握函数的定义方法和调用规则. 2.掌握在C语言程序中主调函数和被调用函数之间进行数据传递 ...

  9. Python实验报告五 python基础试题练习

    文件 一.实验目的与要求 1.掌握文件的打开和关闭的方法. 2.掌握文本文件和二进制文件文件的不同操作,如读写.重命名.删除. 3.掌握os与os.path模块文件和文件夹的操作 二.题目 1 编写程 ...

最新文章

  1. pytorch什么要设计ModuleList
  2. Java项目:基于SSM实现房屋租赁系统
  3. openstack搭建之-nova配置(10)
  4. PowerDesigner15官方正式版+注册补丁
  5. linux 函数 文件校验,Linux中的文件效验命令
  6. 第七十四期:从bug看11种编程语言演化史,果然如今Python比较流行
  7. oracle大型数据库系统在AIX/unix上的实战详解 讨论76 Oracle备份问题
  8. oracle里查询表的语句,Oracle查询用户所有表的语句
  9. Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法[转]
  10. JVM学习-深入理解Java虚拟机代码实践问题
  11. 垂直广告是什么意思_广告新趋势——内容为王 垂直细分
  12. see “systemctl starus network.service“and “journalctl -xe for details克隆虚拟机出来网络ping不通百度的问题解决方案及解答
  13. Android获取音乐专辑封面图
  14. windows键盘事件处理
  15. 资深架构师成长路线 -- 架构师筑基必备技能
  16. 欢迎来到北工大换书网
  17. 【Python深度学习】基于Tensorflow2.0构建CNN模型尝试分类音乐类型(一)
  18. socketio使用
  19. 当贝投影仪安装Youtube\Netflix\Spotify等应用
  20. Project 2010 学习资源

热门文章

  1. Java面试题:Java设计模式11道常见面试题
  2. 雨课堂知识点总结(七)
  3. CentOS利用LVM实现磁盘弹性扩容
  4. cobbler之详细配置
  5. Using C++ in Eclipse - Program file not Specified problem
  6. 【深度学习】单标签多分类问题之新闻主题分类
  7. WTA (winner-take-all) 与 自组织映射 SOM (self organizing map)的理解
  8. 基于ipv6的数据包分析(GNS3)
  9. 用 Chrome 扩展实现修改
  10. 结对作业_core组