20

我们即将开始一个需要使用 SMPP 作为主要集成交换渠道的项目。现在,由于 SMS 不一定是我们业务的核心,所以我想为 Java 使用一个 SMPP 库,这将是最省事的。除了遵循实际协议之外,我们不太可能需要更高级的能力或在引擎盖下进行调整。

为此,我列出了一些我们拥有的可能选项:

  • Logica 的开放式 SMPP
  • 阿帕奇的骆驼
  • JSMPP
  • Twitter 的 Cloudhopper

对他们的使用更有经验的人可以把他们的一些经验告诉我吗?

编辑:只是为了给用例提供范围,我们将发送和接收短信,因此库应该希望通过客户端操作和服务器侦听器实现让生活变得轻松。

4

8 回答 8

14

我已经将jSMPPcloudhopper-smpp用于单独的项目,这些项目涉及在以下情况下通过 smpp 发送和接收 SMS:

  • 接收中高数量的 MO。
  • 发送大量 MT(高达 70/秒)。

这两个库都表现良好,而且 IMO jSMPP 对用户更加友好,可以立即开始编码。但是我在使用 GitHub 的最新版本时遇到了一些错误,这些错误仍未修复。

在使用过cloudhopper之后,我认为学习曲线非常值得,与 jSMPP(主观)相比,这有点陡峭。

于 2013-01-21T12:01:21.467 回答
7

只是对我最终决定的内容(以及图书馆如何审查)的更新:

  1. Logica:看起来很有希望,但我担心整个社区缺乏更新/活跃度。最后一个有意义的构建是在 yonks 之前,所以并不是我真正想做的投资。

  2. Apache Camel:我们开始使用它,但他们的库有一些限制(我们需要将自定义头插入到我们的 SMPP 数据包中)。公平地说,他们对论坛上的问题做出了相当迅速的回应,但他们的构建周期对我的 sprint 来说太长了一点,所以我们暂缓了这一点。

  3. JSMPP:这是我们最终使用的那个。总体而言非常简单,但确实感觉它希望您已经对 SMPP 有了一个相当好的了解。事情正在进行中,所以我无法告诉你它在生产负载下的表现如何。上线时会更新。

  4. Cloudhopper:老实说,这是我热衷于使用的那个,但更多的是因为像任何极客一样,我想跳上最闪亮的最新玩具。对于我们从一开始就提出的任何疑问,我并没有真正得到足够的回应,因此很担心加入。当其他更多文档选项可用时,没有理由采用一个需要我浏览他们的代码的库。

于 2013-03-18T21:27:15.697 回答
5

我目前正在使用 Logica 的库通过 Java 实现 SMPP 解决方案。这是非常容易使用。以下信息说明了测试的结果:

应用程序:企业 Java Beans 应用程序部署在 Glassfish 3.1.2.2 中
语言:Java(使用 JMS)
库:Logica SMPP(1.3 版)
来源(ESME):本地主机
目的地(SMSC):开发服务器上的 Logica SMSC 模拟器(托管在 Amazon Web Services 中) )
类型:收发器 异步
平均发送速率 (80%):246 msg / sec
低发送速率 (15%):50 msg / sec
高发送速率 (5%):255 msg /sec

只要您坚持异步模式,它就非常有效。如果您需要保持消息与其响应之间的相关性,请使用消息和响应中的“序列号”。

于 2013-02-14T15:19:58.570 回答
2

我们的 SMSC 是在 Logica SMPP (v 1.3) 上编写的,它仍然可以很好地处理企业负载。关于这个库,只有一些小问题,主要是 message_payload,老实说,我不记得其他问题了。但它很容易修复,因为它是开源产品。

虽然我个人相信 logica 的来源,但对于小客户,我使用 jsmpp。我同意@Farhan 的观点,它对用户更加友好,并且开发一个简单的客户端需要更少的时间。

于 2014-07-08T07:03:15.187 回答
2

我同时使用了 jsmpp 和smppapi,发现后者更好,因为当时 jsmpp 只有同步阻塞模式(2010 年)——不确定是否仍然如此。

当我连接到的 SMPP 服务器遇到一些性能问题并且响应比平时慢时,jsmpp 的阻塞特性成为大问题的根源。突然,我发现我所有的线程都在等待回复。迁移到 smppapi 显然解决了这些问题。

于 2014-07-23T18:19:22.793 回答
1

我已将Logica SMPP 用于生产项目。它不再被积极维护,并且有一些固有的错误导致不得不产生变通方法或实际上分叉代码库来修复。话虽如此,我发现 API 非常稳定且高性能(300msg/s)。

我简要地查看了 JSMPP,它的 API 比 Logica 好得多,尽管问题列表中存在很长时间,但似乎有大量缺陷尚未修复。

刚刚遇到 Cloudhopper SMPP,它似乎以更新的风格编码,但同样需要更多示例。不得不通过代码库做家务是没有吸引力的。虽然 github 上的例子越来越好。

于 2013-06-04T09:39:07.917 回答
0

Cloudhopper 是最好的选择,Apache 的 Camel 也不错,但它是一个非常大的项目,有很多 PDF 接口,salesforce....你不需要。其他项目至今未更新。Cloudhopper 由 Telestax 维护,他们添加了一些有用的功能,看起来他们将来会给予大力支持

这是用于轻松配置 Cloudhopper 的堆栈 https://github.com/RestComm/smpp-extensions 这是由 Telestax 分叉的 Cloudhopper(非常最新): https ://github.com/RestComm/cloudhopper-smpp 还有 JainSlee 资源适配器为谁谁在电信领域工作 https://github.com/RestComm/jain-slee.smpp

于 2017-05-12T14:09:24.310 回答
-1

presently I am using JSMPP and i found it's okay so far. Cloudhopper seems easier of the lot but i ended up with JSMPP and also found out that JSMPP is also at the heart of Apache camel implementation i might be wrong though.

于 2021-09-14T11:07:48.313 回答