适用于.NET的强大SMPP库

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

谢谢

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

Inetlab.SMPP

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

非常好的图书馆

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

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

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

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

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

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

只有ActiveXperts组件才有,但我不确定它是否是一个原生的.NET库。

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

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

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