1

我目前正在开发一个项目,该项目正在构建一个基于 java 的桌面应用程序以与网站交互。我们想要整合 IM 功能,所以我们决定使用 XMPP。

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

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

4

2 回答 2

1

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

对于可以协商的功能,请查看功能协商,您可能会说您的服务器对其他客户端没有特定功能,但您自己的秘密支持它。这实际上不会阻止尝试进行某些操作,因此这是一个非常糟糕的解决方案。

您可以在不构建桌面应用程序的情况下获得即时消息传递功能(所有的平台支持都令人头疼)。考虑一下Orbited,它可以为您提供所需的即时消息交互性,并且可以更轻松地集成到服务器上。

顺便说一句,不应该有任何消息会导致您的网站出现问题,也不应该有导致问题的 URL 或查询组合等。

于 2009-04-27T00:18:21.490 回答
0

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

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

于 2009-04-27T13:54:37.707 回答