XMPP客户端不兼容

时间:2009-04-26 23:49:03

标签: java client xmpp instant-messaging

我目前正在开发一个项目,该项目正在构建一个基于Java的桌面应用程序来与网站进行交互。我们希望合并IM功能,因此我们决定使用XMPP。

问题是我们的应用程序有其他功能,任何使用其他客户端连接到我们的XMPP服务器的人都会导致我们的网站出现问题(例如我们的客户端将能够使用用户赢得的某种消息类型发送我们的消息'能够使用,但与另一个客户端,他们可以发送这些消息类型)。

是否有人允许我们的客户端访问XMPP服务器或阻止其他客户端使用某些功能?我知道这违反了开放标准的想法,但我们不想从头开始构建专有的IM解决方案。

2 个答案:

答案 0 :(得分:1)

正在构建专有解决方案,它可能不是完全从头开始,这不一定是坏事。但是,除非您要支持XMPP客户端,否则请不要将其称为XMPP服务。您将得到与需要专有浏览器的“网站”相同的反应。

对于可以协商的功能,请查看Feature Negotiation,您可能会说服务器没有其他客户端的特定功能,但在您自己的秘密支持。这实际上不会阻止某些事情被尝试,所以这是非常糟糕的解决方案。

您可以在不构建桌面应用程序的情况下获得即时消息传递功能(包含所有需要的平台支持头痛)。考虑Orbited,它可以为您提供所需的即时消息交互性,并使其更容易在服务器上集成。

作为一个侧面点,不应该有任何消息导致您的网站出现问题,除了可能存在导致问题的URL或查询组合等。

答案 1 :(得分:0)

不确定您的所有要求,但听起来您可能使用XMPP的pubsub或pep功能。这些是XMPP的扩展,允许您创建可在用户到用户级别访问的专用有效负载(个人事件协议XEP-0163)。如果它只是对所有感兴趣的人的一般通知,那么PubSub(XEP-0060)可能就是你想要的。

这些协议允许保护对pubsub节点的访问,并且不会受到标准聊天消息的影响,因为它们是不同的协议。

相关问题