适用于.NET的强大SMPP库

时间:2011-01-27 18:56:21

标签: c# .net smpp

我正在开发一个在线SMS信使,并正在寻找一个可扩展且强大的.NET SMPP库。我看到了EasySMPP(但对它有些疑惑)和RoamingSMPP。还有一个,但我不记得它的名字。对我来说,最重要的是它的可扩展性,稳定性和容错性。我可能每秒有500k +用户和几百条短信。通讯将是2路,接收应该能够回复从我的信使收到的短信。 所以我有兴趣是否有人可以推荐适合我需求的图书馆?如果它是免费的或商业的,对我来说无关紧要。

由于

4 个答案:

答案 0 :(得分:14)

Davita,我已经使用Jamaa SMPP Client连续3个月成功了。它相对容易实现,而且免费。

答案 1 :(得分:5)

Inetlab.SMPP

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

非常好的图书馆

答案 2 :(得分:3)

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

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

容错只能通过组件/库与使用它的应用程序之间的协作来实现。库不能做所有的事情,比如重试提交,完全处理限制,响应submit_multi操作中的错误等。这会要求排队/缓冲机制,肯定会干扰基本操作的高吞吐量。如果您希望它能够处理可能出现的所有错误,它宁愿成为SMPP网关。但是有了良好的图书馆,所有这些都可以轻松地为初学者完成,并且可以根据不断增长的性能需求进行调整。

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

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

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

答案 3 :(得分:0)

只有ActiveXperts组件,但我不确定它是否是本机.NET库。

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

不幸的是,我们最终在本机.NET中编写了自己的。我们用它接近1mil / message / month标记。

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