Rain在线聊天室

By | 2017年 8月 15日

简介

Rain在线聊天室是我很久之前就想做的一个东西,在QQ或者一些其他平台上,有些东西是不能乱说的,因为有关键词的筛查,而其他的聊天软件使用起来比较麻烦,所以我想写一个在线的即时聊天室,打开就可以说话,整个功能就搭建在我的服务器上,不怕什么筛查,更不会有社区送温暖,开门有快递,你的水表坏了,你有外卖等情况发生。

整个功能并不复杂,只是在消息的传送和刷新上有些麻烦,必须保证聊天记录的准确和同步性,调试了很多bug,还有就是用户列表的显示,用户状态的判断,这一块非常麻烦,我一直在思考一种高效实时的检测方式,现在只是一个简单请求方式,我会继续慢慢完善。截图和开发日志放在下面。

聊天室我已经放到服务器里,有想要尝试的可以直接访问http://chat.rain1024.com

开发日志

更新了在线用户列表显示功能,可以实时的更新在线的用户,超时不说话的,会被认为已经离线,如果继续超过一定时间,则系统将会终结账号,还可以手动点击来刷新在线用户的列表。修复了在发送消息的时候,有时会重复出现两次,但数据库中只出现了一次记录的bug,因为在发送消息的时候会请求系统的聊天记录,而此时正好和页面自动请求发生了重合,导致信息被请求了多次

更新说明:添加了数据库,支持聊天记录的保存,用户每次进入聊天室都需要登录,输入用户名即可,系统会自动分配一个头像。使用limint,和count,在每次进入系统,都会自动显示上一次的前十条聊天记录,聊天时每提交发言,都会请求一遍系统中的聊天记录,使用轮播技术,系统会每隔一段时间自动请求聊天记录

项目开始开发,基础的thinkphp框架

聊天室截图

2 thoughts on “Rain在线聊天室

  1. 肖施主

    我以前也用短轮询,几个人一起cpu与内存就被干翻了,长轮询才是虚拟主机正确的选择
    长轮询对比短轮询:
    1、消息即时推送,几乎没有延迟,有消息立即返回,没消息就一直在服务器里转圈
    2、超省流量,同样2秒刷新服务器,长轮询只要设置个30秒超时,直接超越15倍
    3、主机cpu与内存,消耗低、负载小
    我在景安免费虚拟空间测试,短轮询时间长了cpu直接挂了,空间被迫自动关闭
    使用长轮询后,啥?腰不酸了腿不疼了走路也有劲了。。。哈哈

    Reply

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注