如何将 ejabberd 服务器连接到 Logica opensmpp

Posted

技术标签:

【中文标题】如何将 ejabberd 服务器连接到 Logica opensmpp【英文标题】:how to connect ejabberd server to Logica opensmpp 【发布时间】:2016-06-03 05:44:39 【问题描述】:

我正在开发一个应用程序,它使用来自 Chat 客户端的 IM 消息,并使用 SMPP 客户端-服务器架构将其作为文本消息发送。对于 XMPP,我使用 Ejabberd 服务器,对于 SMPP,我使用 Logica opensmpp。我的计划是当 ejabberd 服务器收到一条 IM 消息时,它应该将消息和 JID(因为 JID 包含发送者和接收者的电话号码)发送到 Logica opensmpp,在那里我可以将其转换为文本消息并将其发送给客户。所以我的问题是如何将 Ejabberd 服务器与 Java 应用程序连接起来,在这种情况下将使用 ejabberd 服务器的哪个模块,因为我是 Ejabberd 服务器的新手,如果您认为您对上述应用程序有更好的方法或者是否有任何缺陷请告诉我 非常感谢

【问题讨论】:

【参考方案1】:

您可以编写一个 ejabberd Erlang 插件,该插件将对您的 Java 后端进行 HTTP / HTTPS ReST 调用。这是将 ejabberd 与第三方后端集成的最常用方法。

【讨论】:

mod_rest 或 mod_restful 模块在这种情况下会有所帮助吗?? 我不这么认为,因为它与您需要的相反。【参考方案2】:

向@Mickaël Rémond 添加一点:(在两者之间添加一个队列)您可以编写一个 ejabberd 插件,将传入消息推送到队列中,在 Java 后端您应该有一个消费者来处理数据并发送消息使用 mod_rest 回馈给您的客户。

所以,您基本上需要一个 Erlang 生产者Java 消费者 来处理并向目标用户发送回消息。

您可以探索eKaf 或RabbitMQ 客户端。

【讨论】:

以上是关于如何将 ejabberd 服务器连接到 Logica opensmpp的主要内容,如果未能解决你的问题,请参考以下文章

将 iOS 应用程序连接到 Amazon 上托管的 Ejabberd 服务器

如何使用 smack-android 连接到禁用安全功能的 ejabberd?

无法将 agsXmpp 客户端连接到 eJabberd 服务器

如何连接到已注册的节点(Erlang)并从 Ejabberd 使用它

使用 asmack 访问连接到 Ejabberd 的 MySQL

Mcabber:无法连接到服务器(Ejabberd)