一种聊天APP软件的实现开题报告

 2022-12-08 10:12

1. 研究目的与意义

本课题研究的是现有的聊天软件功能丰富,但软件本身也比较复杂,体积大。通过设计一个类似的聊天APP软件,仅包含一些核心的交互功能,既是从实际出发,也是作为一种锻炼,加深学生对现有网络编程、手机编程技术的理解。

1.1研究的背景

(1)国内外背景

①国内背景:从一开始的UC、QQ聊天软件到现在的微信、微博、TIM,从单一的网页聊天发展到多媒体聊天,不仅仅在信息传输的媒介上发生了翻天覆地的变化,并且在功能方面也得到了不少的发展。媒介上多以手机为主,每个人都基本离不开微信微博等聊天软件,功能方面相比以前多了不少多媒体功能:文件传输存储、视频语音聊天、人工智能的嵌入、钱包支付系统等,这些为我们的生活提供了不少的便利。

②国外背景:对于国外聊天软件,例如:MSN、facebook都是一些耳熟能详的聊天软件,这些软件和国内的聊天软件类似,多了不少附加的功能:直播、刷礼物之类的也都可以进行。

(2)技术背景

IM即为即时通讯,是一种基于网络的通信技术,涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒体音视频编解码/传送、Web Service等多种技术手段。

首先以微信为例,微信是基于C/S架构的通讯模式。用户A登录微信后,连接到IM服务器(即微信通讯服务器),同时用户B也登录上来了。用户A要给用户B发送一条消息,这个消息会先发送到IM服务器,再由IM服务器发送给B。用户A并没有直接和用户B建立连接的。这个消息数据包里面包含了哪些信息呢?必须要告诉IM服务器,这个消息是发给谁的,即用户B。用户B要发送消息给用户A同样的原理。

其实同样QQ也是C/S架构,那么QQ是如何通讯的呢?在TCP/IP协议中,唯一标识一个应用进程的是socket,它通过网络层的IP地址和传输层的端口号来实现,对与同一个IP地址的内部网络,通过不同的端口号来标识不同的QQ进程;当你登陆QQ服务器的时候,服务器会保留你的保留IP地址和端口号信息,并在你的好友的QQ进程中进行列表显示,然后两个进程就可以通信了。通常,发送文件的计算机首先要通过消息服务器将其IP地址发送给接收计算机,当接收计算机同意接收的确认消息反馈到消息服务器后,消息服务器将据此设置好文件传输对话。随即,发送计算机与接收计算机就会在确定好的端口范围内,建立起TCP或UDP连接开始文件的检索与传输。在默认状态下,QQ优先采用了UDP协议传送数据,而对可靠性要求高的数据通讯系统往往使用TCP协议传输数据。而QQ的文件传输是直接个人对个人,采用P2P的传输方式的,并不需要中转。

就MSN所用的TCP协议来说,他已经包含了数据传递验证机制。而网络传输协议中的验证机制往往是接收方收到发送方信息后自动回复一个确认信息,因此有时候在网络出现延迟或线端拥塞时,即使MSN显示连接正常也会出现“无法将XXXX信息发送给所有接收者”。在网络环境较好时,MSN所用TCP协议的效率可能较低,这主要是由于它的安全特性,在恶劣的网络环境中,QQ所用UDP协议传输文本信息可能较不安全。但传输音视频及图片时,UDP协议则拥有更高的速度。难能可贵的是较新版本的QQ支持断点续传功能,因此既保持了UDP协议的快速性,同时又弥补了因网络原因导致的断线。事实上,基于TCP协议的网络文件传输的断线机率会更高,这就是为什么许多人更愿意选择QQ而不是MSN来传输文件了。其实,即使是在内网,UDP协议的数据传输的效率也要远高于TCP协议。

(3)QQ与微信对比总结:在诞生背景方面QQ是由PC端迁移至移动客户端,保留着PC端的特点,而微信针对移动客户端专门设计,更加符合移动互联网时代;对于产品定位,QQ是社交软件,而微信是即时通信工具;在用户群体方面,QQ很受青少年的欢迎,而微信则是在成年人、工作人士比较盛行;使用场景方面,QQ更加开放,可以出现共同好友信息等,在线状态具有较明显的区分,用户倾向于主动联系在线的人,而微信力求把社交圈局限于熟人,弱化在线状态,没有状态区分,可以让用户有更多选择权回复信息。

1.2研究的目的

研究本论文的目的在于了解内部android客户端、网页服务器端之间数据的传输,以及对于服务器端消息内容的一种存储管理。

1.3研究的意义

研究的意义在于了解和实现手机用户端与手机用户端之间的信息传输过程,测试开发一款类似QQ或者微信一样的聊天软件,包括服务端和手机应用端的设计。

2. 研究内容与预期目标

主要研究内容:

1.软件开发的步骤(需求分析、概要设计、数据库设计、详细设计、运行测试等)

2.Android界面的设计

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

3. 研究方法与步骤

研究方法:

1.文献调查法。查阅相关文献资料,了解软件开发步骤书写软件报告书,了解Android界面及信息传递机制。

2.比较研究法。比较类似软件,分析界面及其中的信息传递机制。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 参考文献

[1] 成刚编. Eclipse从入门到精通[M] . 北京:清华大学出版社,2005

[2] 杨丰盛编. Android应用开发揭秘[M] . 北京:机械工业出版社,2010

[3] 余志龙,陈昱勋,郑杰明.Android实例开发范例大全[M] . 北京:人民邮电出版社,2010

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

5. 工作计划

(1)2022年1月10日 —2022年1月30日接受毕业设计任务,查阅资料并完成开题报告;(2) 2022年2月1日 —2022年2月8日 选择开发工具,并配置其环境;(3) 2022年2月9日 —2022年2月 23日完成软件需求分析和概要设计;(4) 2022年2月24日 —2022年3月8日 完成软件详细设计;(5) 2022年3月 9日 —2022年4月17日 编写和调试程序源代码,组织数据加以测试;(6) 2022年4月 18日 —2022年4月24日整理文挡,并翻译一篇外文资料;(7) 2022年4月25日 — 2022年5月20日 撰写毕业设计论文,准备答辩资料。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版