使用PHP 1-1聊天系统/ MySQL的

项目:一个需要1-1私人聊天的应用程序。
当前的系统:在应用程序的当前登录系统使用为用户在保持登录cookie中的系统。

我明白如何实现聊天系统(我刚刚看了一下彗星,后来可能会实现它,但现在,我打算使用定时器使用基本AJAX); 聊天将被保存在聊天过程中的文本/ xml文件,而一旦它的完成,将被归档到数据库中。 的文件名将存储在数据库中的聊天开始时,一旦检索,将被存储在cookie中(该数据库将原封不动,除了当聊天的开始和结束)。

问题:除非他们都是在线的用户不能启动与其他用户交谈。 我如何设计系统,也就是如果用户是否在线聊天只能启动?
我并不真的需要特定的代码,只是使其工作的逻辑。

--------------解决方案-------------

当用户登录你的网站,你停留在每5秒发送一个AJAX平到服务器,服务器将更新的ping时间。 所以你可以列出你在网上找人在这个时间,如果ping时间大于5秒,这意味着你的用户将被注销或关闭浏览器。

您还可以使用浏览器的焦点事件相同的机制离开状态。

假设你记录用户的活动:

只允许用户接收聊天如果接收机已在超过30秒显示活动。 如果没有,表明该用户不在线的错误信息和/或忽略发送的消息。

有了一个无状态的系统,你可以决定的唯一途径是谁,是不是行是通过超时。 你提到使用AJAX和一个计时器,所以,如果在过去的用户活动是较旧的,那么最后的AJAX刷新(加上刷新时间),那么它们不是上线。 你需要确保聊天开始页面开始活动更新。

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP和MySQL,阿贾克斯
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.523 (s). 10 q(s)