繁体   English   中英

XMPP Smack API RosterListener +数据库更改

[英]XMPP Smack API RosterListener + Database Change

我正在使用Smack API用Java编写XMPP客户端。

我为每个用户注册了一个名册侦听器,并且Smack API调用了...

public void entriesAdded(Collection arg0) {}

...每次发现名册增加。

是否有人知道如果数据库更改但不是通过Smack API createEntry()方法更改此侦听器是否会关闭?

基本上,我想将XMPP客户端绑定到网站。 当您将某人添加到网站的朋友列表时,我希望网站通知客户端。 我希望不设置套接字或使用PHP登录XMPP服务器,而是希望修改数据库即可。

这样做是可行的还是有另一种方法来解决此问题,而无需客户端不断轮询数据库中的更改?

更改数据库与Smack直接无关,因为它是一个客户端库。 它没有数据库。 该数据库将由服务器使用和访问,并且根据服务器的不同,可能存在一些功能,这些功能将允许服务器在更改数据库后发布消息。 我不知道是否有任何xmpp服务器实际上具有此功能。

您应该检查所用服务器的功能,并可能在服务器本身中使用扩展名来添加名册条目。 直接更改数据库似乎并不可行,因为您很可能会使XMPP服务器和数据库不同步。

对于客户端轮询数据库,如果XMPP服务器(甚至可能是Web服务器)正在使用数据库,则客户端可以直接访问数据库似乎不是一个好主意。

暂无
暂无

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

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