![](/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.