14

我正在开发一个在线 SMS 信使并为 .NET 寻找一个可扩展且强大的 SMPP 库。我看到了 EasySMPP(但对它有一些疑问)和 RoamingSMPP。也有一个,但我想不起来它的名字了。对我来说,最重要的是它的可扩展性、稳定性和容错性。我可能有 500k+ 用户和每秒数百条短信。通信将是 2 方式,接收应该能够回复从我的信使收到的 SMS 消息。所以我很感兴趣是否有人可以推荐适合我需要的图书馆?它是免费的还是商业的,对我来说并不重要。

谢谢

4

4 回答 4

15

Davita,我已经成功使用Jamaa SMPP 客户端3 个月了。它相对容易实现,而且是免费的。

于 2011-11-30T00:17:18.093 回答
5

网络实验室.SMPP

http://www.inetlab.com/Products/Inetlab.SMPP.aspx

很好的图书馆

于 2012-04-26T11:29:42.227 回答
3

SMPP 协议中的可扩展性是一个复杂的问题。您可以通过触发多个连接来水平扩展,但是如果使用一个帐户,这会产生诸如状态报告在消息已提交之外的其他连接上返回的问题。垂直缩放不仅在组件上(当然,糟糕的组件会限制吞吐量),而且经常受到 SMSC 本身的限制 - 很难找到一个不会使每秒超过 100-150 条消息饱和的 SMSC 返回节流错误(0x00000058 - ESME 已超出允许的消息限制)。结论 - 实现高性能可能需要与运营商合作。如果组件/库具有例如限制或提交到内置的多个目标支持,则它可能会派上用场。

稳健性是另一件相当主观的事情,但在我看来,良好和先发制人的支持是其中的一部分。

容错只能通过组件/库和使用它的应用程序之间的合作来实现。库不能做所有的事情,比如重试提交、完全处理节流、响应 submit_multi 操作中的错误等。这需要排队/缓冲机制,并且肯定会干扰基本操作的高吞吐量。如果您希望它处理所有可能出现的错误,它宁愿是一个 SMPP 网关。但是有了好的库,对于初学者来说,所有这些都可以轻松完成,并且随着性能需求的增长而进行微调。

这个商业 .NET 库可能值得考虑:

http://www.tops.com.pl/en/products/smscc/

安装数量相当多,大型电信的安装数量很少。可以在水平和垂直方向以可扩展的方式使用,并且可以实现容错方案。在实际测试中,在单个 TCP/IP 链路上每秒可实现超过 500 条消息,受 SMSC 能力的限制。

于 2013-08-14T10:38:52.477 回答
1

实际上只有 ActiveXperts 组件,但我不确定它是否是原生 .NET 库。

EasySMPP 和 RoaminSMPP 都充满了严重的错误和不完整。Devshock 组件很糟糕。我们都试过了。

不幸的是,我们最终在本机 .NET 中编写了自己的。我们正在接近 100 万/消息/月大关。

有一家德国公司,我不记得它的名字了,它做一个 SMPP 组件,但许可成本非常高,我似乎记得它是一个 COM 库。

于 2011-04-09T17:14:24.503 回答