![](/img/trans.png)
[英]How to send alert to client when database is updated, like facebook chat
[英]alert message when database updated
我正在用php创建一个聊天应用程序。
目的:当USER1邀请用户2, 用户2想要得到的是USER1有邀请他警告或弹出消息。
我所做的是-
当user1邀请时,消息将存储在数据库中。 在用户端,我曾经检查数据库是否已更新。 如果数据库是更新的,我通常会显示警报。 这是我在php和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.