繁体   English   中英

数据库更新时发出警报消息

[英]alert message when database updated

我正在用php创建一个聊天应用程序。

目的:当USER1邀请用户2, 用户2想要得到的是USER1有邀请他警告或弹出消息。

我所做的是-

user1邀请时,消息将存储在数据库中。 在用户端,我曾经检查数据库是否已更新。 如果数据库是更新的,我通常会显示警报。 这是我在php和javascript上完成的,但并非一直都在工作。

这是个好方法吗? 还有其他方法吗?

使用Ajax定期向服务器发送请求。 响应将包含该用户拥有的所有邀请。 响应可能采用JSON ,可以使用JavaScript轻松评估。

所有客户端都可以使用jquery并定期发送以下请求:

function checkIfIAmInvited()
{
     jQuery.ajax({
       type: "POST",
       url: "some.php",
       data: "name=currentUser&",
       success: function(msg){
         if(msg.indexOf('uninvited') !== -1 )
         {
            alert( "You have been invited by " + msg );
            //Method to do stuff once I am invited
            iAmInvitedMethod();
         }
     });
}

要定期调用以上代码,可以在jquery / javascript中使用以下代码。 这将是定期拨打电话并将响应回复给您。 只要响应不包含“不请自来”的字符串,它就会发出警报并调用post方法函数。

可以使用以下代码重复调用它。

window.setInterval("checkIfIAmInvited()", 5000);

这将每5秒检查一次是否有邀请。 另外,为了更好地控制控件,可以使用诸如Timer之类的jquery插件重复执行某些操作。

使用(至少)两次数据库旅行是处理实时聊天的一种不好的方法。 如果您正在做一些存储的聊天aka信息系统,那就很好。 但是考虑到您只需要保留文本一两秒钟,我将只使用SQL-Lite或另一个内存解决方案。 这将在您的服务器上更快,更轻松。

对于聊天和即时消息系统,您应该研究使用基于推的技术(例如Comet)。 该线程中的更多信息:jquery的实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM