注:软件系本人编写,涉及专业技术知识,恕不公开源码,如有需要源码学习的网友,请留言与我联系。

一、使用说明

开发程序包含两个主要部分,客户端(ChatClient)和服务器(ChatServer),一般在多个手机运行(或者多个PC机得模拟器上运行),每个客户端应用程序都是一样的,只需修改需要通信的IP即可,采用统一端口通信。本开发在同一pc上同时开通两个模拟器,两个模拟器的IP与PC机相同,所以开通两个端口,分别模拟两个模拟器的地址,默认打开两个相同模拟器后,telnet端口分别为5554和5556。.程序中分别为5554模拟器和5556模拟器开通6000端口和6001端口。为让测试人员不对程序作修改即可在同一pc通信,工作区复制了另一份工程,并改名字为ChatClient5554,后又修改原客户端程序为ChatClient为ChatClient5556作区分,两程序分别运行于5554和5556模拟器即可。由于接收信息时,每个模拟器需要绑定端口监听,所以服务器也必须开通一个独立的端口,程序中开通5999作为服务器的监听端口。

客户端程序运行于android2.3.1版本,服务器运行于jdk1.6版本,测试通过。

二、使用步骤

(1)、导入ChatClent5554、ChatClent5556、ChatServer到工作区。

(2)、打开两个模拟器(版本为android2.3.1),telnet端口号分别为5554和5556(端口号自动生成)。

(3)、打开PC机Dos环境。(操作如下:开始---运行—键入“cmd”)。

(4)、执行以下语句,配置5554模拟器。(原因请看文档最后“注释1”)

1)、telnet localhost 5554

2)、redir add udp:6000:6000

3)、通过redir list命令查看

通过exit命令退出到Dos环境,再次执行下列语句,配置5556模拟器。

1)、telnet localhost 5556

2)、redir add udp:6001:6001

3)、通过redir list命令查看

(3)、.ChatClient5554运行于5554模拟器,ChatClient5556运行于5556模拟器。打开ChatServer并运行。

(4)、通过menu----setting可选择是否播放背景音乐,其它功能不细述。

(5)、点击5554模拟器和5556模拟器的“好友聊天”,出现聊天交流界面。

(6)、直接输入信息后发送,就可以明码通信(不设置加密信息),如下图:

图1 明码通信截图

(7)、加密设置

在5554模拟器中点击menu—发送加密,出现加密设置界面如下:

图2 加密设置

(8)、点击第一层,第二层,第三层按钮,选择加密方式(也可只设置其中某些层,如只设置第一层)。如果不选择加密,系统也会自动选择最后两种加密方式“手机编码”和“摩尔编码”。想取消加密可以在聊天窗口点击明码发送按钮即可。假设这里选择第一层明码为键盘编码,其它两层不选择。然后按back键返回聊天窗口。

图3 编码层加密设置

(9)、输入信息并发送,5556模拟器不解密接收。如:输入“hello how are you”并发送,5556模拟器接收信息截图如下:

图4、发送端加密发送,接收端未解密

(10)、点击5556模拟器menu—接收解密。选择解密方式,因为我们知道加密只采用了三层加密(手动一层,默认两层)。并且知道加密的方式,所以这里的解密设置依次为:摩尔解密---手机解密---键盘解密。同加密一样,我们可以只设置解密的某些层,只要解密的顺序为加密的反顺序就可以了。

图5 、解密设置

图6 解密层解码设置

(11)、再次在5554模拟器中输入“hello how are you”字符串,接收到“hello how are you”信息。

图7 解密接收信息

(12)、通过5556模拟器向5554模拟器发送信息的操作也是一样的,还可以多选择加密层,提高密码信息的复杂度。

(13)、所有信息都在服务器端接收,对加密信息不可见,截图(部分)如下:

图8 服务器接收到的信息

注释1、关于同一PC运行模拟器,端口绑定的问题

在pc上运行的模拟器,系统都为其分配了模拟的端口,但是手机的端口和pc机的端口不是一一对应的,需要重映射端口到pc机的端口才可以,命令redirection(redir)就是实现端口的重映射,操作步骤4中将5554模拟器的6000端口重映射为pc机的6000端口,将5556模拟器的6001端口重映射为pc机的6001端口。

说明:本文档仅供学习使用,如果设计中存在技术问题,欢迎高手指点,不胜感激!转载需注明,谢谢合作!

手机加密聊天软件功能文档(基于android系统)相关推荐

  1. 手机加密聊天软件的实现(基于android系统)

    一.软件描述 当今社会,信息技术的发展日新月异,各自领域对自己的科研成果保密也就成了一项重大的事情.基于远程信息交流并且保密的需求,本应用程序实现了加密聊天的功能,在发送端对用户输入的信息加密,网络传 ...

  2. 局域网聊天软件 设计文档怎么写?

    局域网聊天软件 设计文档怎么写?这种针对数据库记录的 局域网聊天软件 窃取,被一些攻击者称为拖库,于是有了一个自然而谐音的戏称脱裤.只是攻击者日趋不厚道,从前只是偷了人家的裤子,现在还要晾在大街上,并 ...

  3. android程序打印,通过iPrintScan软件打印文档(适用于Android安卓)

    文档标题:通过iPrint&Scan软件打印文档(适用于Android安卓) 文档代码:CHN-FP0576-1 最近修改日期:2020年11月19日 通过iPrint&Scan软件打 ...

  4. linux 基于qt assistant制作软件帮助文档,基于Qt Assistant的软件帮助系统

    Qt Assistant是Qt自带的一款可定制.可重新发行的帮助文件浏览器.Qt Assistant支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器.关于Qt Assistant定制 ...

  5. 一卡通android文档,基于Android平台的校园一卡通的设计

    基于Android手机的校园一卡通设计 在信息化"十二五"规划中,浙江大学首次提出"智慧校园"的概念."智慧校园"指通过云计算,虚拟化和物联 ...

  6. 基于android的理财软件技术专业介绍,基于Android系统的个人理财软件的设计与实现...

    摘要: 经济社会中,对于人们来说"理财"一词已不再陌生.人们日新月异的生活,用于社会往来,娱乐休闲和改善住房环境的财务支出增多.做好详细收支计划,能良好的管理个人,家庭的经济收支情 ...

  7. 基于android的计步器文档,基于Android的计步器(Pedometer)的讲解(六)

    计步器(Pedometer)整个项目的源代码,最近做了比较大的修改,可能以前下载的不能运行,感兴趣的朋友可以下载来看看(记得帮小弟在github打个星~) https://github.com/296 ...

  8. 微课竞赛系统的设计与实现所需工作条件_启升微课丨从软件设计开发着手准备医疗器械软件描述文档...

    启升微课--第四课! 大家好!今天是启升微课的第四课,本微课将跟大家分享的是"从软件设计开发着手准备软件描述文档". 首先,我们要清楚一个问题:有哪些医疗器械需要准备软件描述文档? ...

  9. android系统自动休眠代码流程,一种基于Android系统下的可控休眠方法及系统与流程...

    本发明涉及一种手机应用,尤其涉及一种基于android系统下的可控休眠方法及系统. 背景技术: android设备的休眠指的是当长时间不用手机时手机会自动进入一个省电模式,调低或者关闭一部分电压的输出 ...

最新文章

  1. Activiti——数据表结构
  2. Scrum Master角色可能消失吗?
  3. 【0521模拟赛】小Z爱数学
  4. JDBC基础学习(三)—处理BLOB类型数据
  5. cnn图像二分类 python_人工智能Keras图像分类器(CNN卷积神经网络的图片识别篇)...
  6. NOIP 2007 普及组初赛试题(C++)(无答案)
  7. Spring MVC 响应数据、作用域对象
  8. php清空单例属性_PHP单例模式--典型的三私一公
  9. hadoop本机运行 解决winutils.exe的问题
  10. python画散点图-python画时间序列散点图
  11. 数据结构算法常见面试考题
  12. XTU 1236 Fibonacci
  13. win0如何查看计算机工作组,win10家庭版如何查看工作组计算机
  14. c语言实现字符串连接
  15. 一位大牛对学IT的忠告
  16. 单点登录--微服务的登录解决方案
  17. this指向 改变this指向
  18. python 图片打水印 透明图片合并
  19. 【欧拉计划第 5 题】最小公倍数 Smallest multiple
  20. ABF平台设计(四):体验黑科技-结构化的体验数据平台

热门文章

  1. 重度办公用户,哪款平板更合适?
  2. 透明壁纸android,主题透明壁纸软件下载-主题透明壁纸 安卓版v1.0-PC6安卓网
  3. 【解决笔记本电脑声音音量低的方法】
  4. 怎么将svn服务器上的文件彻底删除,如何彻底删除SVN中的文件和文件夹(附恢复方法)...
  5. windows server中opencv运行过程中MF.dll/MFReadWrite.dll/MFPlat.DLL文件丢失问题解决
  6. iOS8 定位新增功能
  7. IDEA连接数据库自动生成model(get set方法)
  8. Stata-交乘项专题: 主效应项可以忽略吗?
  9. Nginx服务器---正向代理
  10. 量子力学最新发现:人不会真正死去