当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:使用PHP服务器脚本语言,采用Apache服务器软件搭建B/S结构,将单条聊天内容以结构化数据库表对应的单条记录形式存储于MySQL数据库,再通过Ajax技术使客户端与服务器之间异步发送和接收信息,从而实现无刷新信息交互。该系统的即时聊天系统界面简洁,功能专一,可使用户之间的通讯与信息交流更加便捷。

引 言

互联网技术飞速发展,Instant Messaging(即时通讯)的出现,通过互联网技术,革新了当代人信息交流的方式,给人们生活带来诸多便利。当前,在“互联网 +”的国家发展战略下, 许多传统服务行业都亟待与互联网融合,服务必然需要一个互联网沟通平台,网页即时聊天系统便应运而生,该系统界面简洁,功能专一,不需要下载软件即可实现信息交流,让信息交流更加便捷。

1 系统设计

1.1 系统整体架构设计

系统采用B/S 模式开发,具有三层结构,具体如图 1 所示。其中,表现层主要是提供交互的界面,由HTML 完成,业务逻辑和数据访问层通过PHP 和MySQL 组合开发,它们是当今较为流行的开源技术,便于使用,运行速度快,功能强大, 并且免费,非常适合Web 开发 [1-3] ;业务逻辑层则通过 PHP 写出收发信息和添删处理逻辑 ;数据库访问层通过表的结构, 写出相应 PHP 服务类,然后通过PHP 的MySQL 接口来实现数据的增删改查。

基于PHP的网页即时聊天系统的设计与实现


1.2 系统数据库设计 

系统具有发送信息,添加删除好友功能,相应的有 3 张表, 其中表 1为用户表,表 2 为信息表,好友关系表的具体字段设 置见表 3 所列。 

2 系统核心功能实现 

2.1 验证功能 

系统界面是通过 HTML 完成,当用户写入用户名和密码 时,通过 get 方式向服务器发送请求,服务器验证页面接收到 用户名和密码,通过连接数据库,将接收到的用户名和密码与 数据库中用户表的记录进行逐行比对,如果与某一行完全匹 配,则跳转到聊天界面,否则跳转到注册界面。图 2 所示是 其验证功能流程图。如果是第一次登陆,生成 session,在服 务器保存用户信息。

基于PHP的网页即时聊天系统的设计与实现



2.2 发送信息功能

当用户点击发送信息按钮时,浏览器向服务器发送 Ajax 请求,服务器中的处理收发信息页面接收来自 Ajax 的请求信 息,其中包括 session 里面的用户信息,接收人信息,以及发 送的内容,并将这些信息存入信息表中,其中 time 字段用 now ()函数来代替,is_get 字段不作为字段写入,默认为 0。图 3所示是其发送信息功能流程图。

基于PHP的网页即时聊天系统的设计与实现

2.3 接收信息功能 当客户端处于用户登录状态,并且处于聊天界面时,浏 览器定时向服务器发送获取信息的请求,通过 js 的 window. setInterval()方法设定时间,本次设定为 5 000,即为 5 秒, 此时浏览器会间隔 5 秒向服务器发送获取信息的请求,当服务 器接收到浏览器的请求后,开始连接数据库,并通过用户信息, 在数据库的信息表中查找接收人是当前用户的记录,同时 is_ get 字段的值必须为 0,每取出一条,将该记录中的 is_get 的 值置 1,在读取之后,通过 AIAX 回调函数,使用 DOM 将信 息更新到聊天界面 [4],其中每条信息都是拼接返回,避免覆 盖上一条信息。 

接收信息功能流程图如图 4 所示。

基于PHP的网页即时聊天系统的设计与实现


2.4 Ajax Ajax

 是一种用于给用户更好体验,交互性更强的 Web 应 用程序技术,Ajax 的本质是异步的 Javascript 代码配合 XML 用于 Web 交互,使用 Ajax 使客户端接收信息,独立于网页, 不需要刷新整个网页就可以得到来自服务器的交互信息 [5-8]。 它不是新技术,但是能够给 Web 体验锦上添花 [9]。即时聊天 系统需要刷新页面才可以收到信息,这对于用户是不可接受的, 并且极大地降低了用户体验,运用 Ajax 是此系统的核心解决 方案。

如图 5 所示,在聊天窗口点击发送信息按钮时,浏览器 将请求转移到 Ajax 引擎,由 Ajax 引擎发送请求,即实例化后 的 XMLHttpRequest 对象 [10],服务器信息处理页面收到 Ajax 引擎的请求到 MySQL 数据库信息表中取出对应信息并转化为 XML 形式,返回给 Ajax 引擎,通过 DOM 将返回到 Ajax 引 擎的信息更新到浏览器的聊天窗口,此过程中,浏览器没有执 行刷新。

基于PHP的网页即时聊天系统的设计与实现


3 结 语

此聊天系统使用 WAMP 开发环境,基于 B/S 三层结构 开发完成。三层结构很好地将业务逻辑和界面分开,便于后 期维护和拓展。收发信息通过 Ajax 引擎完成,使聊天界面无 刷新更新信息。服务器软件和数据库选用 Apache 和 MySQL, 加上 PHP 服务器脚本程序,代码简洁。实践证明,系统整体 运行良好,无漏接漏发信息。当前传统服务行业发展的大趋 势是与互联网融合,网页即时聊天系统,轻量级聊天,功能 专一,无需下载软件,通过浏览器即可完成信息交流,网页即 时聊天系统有着不错的应用环境和广大的市场前景。




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭