2014-02-22 29 views
0

我使用longpolling技术的通知系统..这里longpolling通过检查数据库表的唯一ID工作..如果它大于最后更改的id那么数据被提取..这就是工作好...Longpolling与php jquery ajax

我不知道如何实现longpolling技术来获取最近更新和删除的任何行的值......传统的shortpolling最终会通过不时戳动数据库来实现。但在longpolling请求保持open..Suppose我有 4行插入...

id name body 

1 A blah 
2 B blah 
3 C blah 
4 D blah 

如果现在有在最后插入的行的变化等...

4 D abcd 

的longpolling技术不会取得更新部分..

,或者如果ID为2行是deleted..Then也是它将无法正常工作...

任何人都可以提出一种方法吗?不使用shortpolling ..因为我不想这样...

回答

0

您应该添加一个名为“revision”的新列。修订是每个“行动”的自动增量,而不是每行。

它必须我一个正常的指数。

所以,你这样开始:

Id Name Revision 
1 aaaa. 1 
2 bbbb. 2 
3 cccc. 3 
4 dddd. 4 

然后当你更新的第4排的修订字段应该是5则更新,如果连续两次,第2行修订应为6

对于删除使逻辑删除,并且还更新该行的修订版本,这应该是个诀窍。

您返回按修订排序。

+0

我不明白..如果我更新第4行,那么修订版怎么变成5?并删除第2行如何变成6?我不明白的逻辑... – user3184462

+0

是的..我有点理解逻辑...假设我删除第2行..然后修订版本是6,然后当我添加另一行修订版本是7?对? – user3184462

+0

@ user3184462恰到好处。客户端发送它当前所在的版本ID。 –