基于Java的校园即时通讯软件的设计与实现

2018-02-05 09:02:52蔡瑞芳西北师范大学教育技术学院
数码世界 2018年1期
关键词:即时通讯消息服务器

蔡瑞芳 西北师范大学教育技术学院

1 国内外研究状况

1.1 即时通讯软件发展现状

在竞争日趋激烈的国内外市场上,目前最为流行的即时通讯软件有腾讯QQ、微软MSN、微信、网易POPO以及陌陌等个人即时通讯软件,专业的通讯软件有阿里旺旺、飞秋等。但它们同时存在着很多问题:

1.1.1 产品同质化较严重

现在市场上的即时通讯软件跟风现象比较严重,一个公司推出一款聊天产品后,另一家紧跟着退出相似的产品,其功能、风格基本都是模仿而生。例如腾讯QQ就是模仿ICQ诞生的,尽管现在已经超过很多同类即时通讯软件,但给后来的通讯软件提供了借鉴,后起的软件基本都是模仿前者。

1.1.2 对用户定位不够清晰

以微软MSN为例,它最初是为有着高学历、高收入的用户群体以及高端的商务人群而设计,目的是为了这些用户能够更快捷方便的交流,但为了扩大其市场影响,MSN逐渐加入了娱乐休闲的功能,跟市场上大多后起的通讯软件差异逐渐减小,功能也就越来越与市场上的通讯软件类似了。

1.1.3 各通讯软件互不沟通

现实世界中人们需要沟通,同样,在虚拟的网络中也需要沟通。但事实是各个通讯软件之间互不沟通,一个用户用QQ,一个用户用MSN,他们之间却无法进行交流,这就导致用户必须同时下载多款软件,造成计算机或手机内存超载,限制了很多软件的发展。所以现如今各大即时通讯软件需要的是兼容和互通。

1.2 即时通讯软件对现代教学的影响

将即时通讯软件引入现代教学后,它成为了改变学习方式和教学方式的一种有效工具。

1.2.1 新的学习模式

即时通讯软件在现代教学中的引入,改变了现代教学学习的模式。通过即时通讯软件,开阔了学生的视野、丰富了学生的学习生活,使学生不再觉得学习是枯燥乏味的,激发学生学习的动机,更加有利于学生主动进行知识的建构。

1.2.2 新的学习方式

即时通讯软件在现代教学中使学生学习方式更加符合人类的记忆曲线规律,使得学生形成了新的思维方式,养成良好的自主学习的习惯。

1.2.3 新的学习平台

即时通讯软件为师生的交流提供了一个更加轻松的平台。学生可以在这个平台上自由发言,而不必受到班级授课制模式的束缚,避免了学生在现实生活中因为紧张而不敢发言的尴尬。

1.2.4 突破时空限制

基于互联网技术的即时通讯软件没有了时空的限制,使得学生可以随时随地和教师、同学进行交流和讨论,学习更加自由。即时通讯软件改变了师生的交互方式,使得交互对象可以随时利用网上的学习资源进行学习探讨,互帮互助,真正成为一个有意义的平台。实现学生之间协作式、自助式学习。

1.2.5 转变角色

即时通讯软件引入现代教学后改变了师生双方的角色。传统的教学中师生是主从关系,教师在讲台上讲,学生在教室里学,而通过即时通讯软件二者成为平等的关系,学生在老师的支持下自主进行学习。每个学生也成为知识的分享者和提供者。

2 系统非功能性需求

2.1 系统性能需求

系统的性能体现在数据精确度、时间特性和适应性等方面。

2.1.1 数据精确度

即时通讯软件在应用时要能够保证消息能准确无误的传送到对方,无损失,无乱码。

2.1.2 时间特性

数据的响应应该是实时的,数据接受到,主面板上应该马上就有所反应,延时应小于2秒。

2.1.3 适应性

系统开发完成后应该适应所有的操作系统,所以要求系统的开发要具有良好的兼容性。论文中设计开发的面向校园的即时通讯软件是在Windows操作系统上完成的,该操作系统使用的人数很多,并且在不断升级更新,所以它的兼容性问题基本可以不考虑。

2.2 系统安全性需求

论文中开发的即时通讯系统的安全性是通过权限认证、数据传输保护以及跟踪管理等来实现的。

2.2.1 权限认证

登录系统后,用户访问数据的内容和操作进行了严格的限制。

2.2.2 数据传输保护

数据传输时对传输的数据加以加密措施,保证用户的传输信息不会泄露,保护用户的隐私,防止数据在传输过程中被截取、篡改或丢失,数据的传输安全可靠。

2.2.3 跟踪管理

系统在开发完成后当然需要跟踪管理以保证软件的实用性。论文中系统的跟踪管理是通过后台管理员查看登录用户的业务操作、系统日志,监控客户端用户的操作行为等来实现的。

3 系统功能模块设计

系统的整体功能是由六个部分组成,在各个模块中又分别具有相应的子功能。系统的整体功能结构图如图1所示。

图1 整体功能结构图

需要注意的是:所有的功能必须在用户登录的状态下才能使用,没有账号的用户要先注册。

4 系统功能实现与难点技术

在系统设计过程中遇到各种难点,在经过不断尝试与测试后,解决了系统遇到的基本困难。这些难点包括服务器如何存储上线用户、当用户改变状态的时候如何通知其他的在线好友以及如何向查找到的好友发送请求好友的消息。以下是具体遇到的技术难点以及解决方法。

4.1 服务器如何存储上线用户

我们该如何向服务器告知上线用户的ID呢?

用户在登录的时候,我们一般会将用户的id查出来后保存在一个变量里,连上服务器后,我们马上会向服务器发送一个消息,在这个消息的字符串中我们会包含本用户的ID号在里面,当服务器接受到这个消息后会根据消息的类型将该用户的状态改变为“在线”状态。发送的消息应该包含两个要素,一个是“消息类型”,一个是“用户ID”,特殊的情况下还应该有对方的“用户ID”。

4.2 当用户改变状态的时候如何通知他的在线好友

如上所示,当服务器接受到用户发过来的消息后会判断是什么样的业务类型,如果是“上线=用户ID”这样的消息,服务器就会解析出用户的ID号,然后修改数据库中该用户的状态。而每一个客户端的主面板都是自动刷新的,用户状态的改变会立刻反映到用户的好友栏中。

[1]向波.基于JAVA的即时通讯软件的设计与实现[D].成都:电子科技大学,2007.

[2]黄晨帆.面向教育的即时通讯软件系统的设计与实现[D].厦门:厦门大学,2014.

[3]余莎莎.即时通信在高校思想政治教育中的功能及应用研究[D].新疆:石河子大学,2013.

[4]庞怡,许洪光,姜媛,等.即时通讯工具现状及发展趋势分析[J].科技情报开发与经济,2006,16(16):169-170.

[5]马化腾.即时通讯未来的6大趋势[N].IT Time Weekly,2005-06-20(10).

[6]孔玲玲,赵鹏鹏,费新路,等.浅谈即时通讯工具在大学生日常管理中的作用[J].科技文汇,2011(03):187-188.

[7]董健全,丁宝康.数据库使用教程(第三版)[M].北京:清华大学出版社出版社,2007:67-98.

[8]MySQLAB.MySQL[J].2001.

[9]刘芯言,朱东敏,顾洁.基于局域网的资源共享平台系统的设计需求分析[J].工会博览:理论研究,2010(9):109-109.

猜你喜欢
即时通讯消息服务器
一张图看5G消息
通信控制服务器(CCS)维护终端的设计与实现
民事诉讼中即时通讯记录的证据采用进路
即时通讯软件发展模型的实证研究
东方教育(2016年19期)2017-01-16 12:34:53
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
计算机网络安全服务器入侵与防御
科学技术哲学视域下的即时通讯
科技传播(2015年14期)2015-12-13 04:20:18
即时通讯软件WhatsApp
CHIP新电脑(2015年10期)2015-10-15 18:03:55
消息
中国卫生(2014年12期)2014-11-12 13:12:26
消息
中国卫生(2014年8期)2014-11-12 13:00:50