0

我正在尝试使用ruby​​-smpp gem 从单个 rails 应用程序通过 SMPP 3.4 绑定到两个不同的 SMSC。

按照此 gem 文档中包含的示例,我有两个配置块指向不同的 ISP,即

config_1 = {
  #.......
}
config_2 = {
  #.......
}

我继续声明并运行网关的两个实例,如下所示:

gw_1 = SampleGateway.new
gw_1.start(config_1)

gw_2 = SampleGateway.new
gw_2.start(config_2)

我能够绑定到各自的 ISP,但我遇到的问题如下:

  1. 每当其中一个绑定丢失(即在未绑定时),两个 ISP 连接都会丢失。
  2. 当我向特定 ISP 发起/发送 SMS 时,将通过该 ISP 发送至少 2 倍的 SMS 数量(即,如果我通过 ISP1 发送 1 条 SMS,手机上将发送 2 条 SMS)

关于如何防止上述情况发生的任何想法,或者我应该使用两个不同的 Rails 应用程序连接到 ISP?

4

1 回答 1

0

项目提供的 samplegateway 不适合你的用例。如果您检查https://github.com/raykrueger/ruby-smpp/blob/master/examples/sample_gateway.rb#L64,EventMachine连接存储在类变量中,这意味着您的第二个调用gw_2.start(config_2)将覆盖第一个。

您可能应该将自己定位在https://github.com/raykrueger/ruby-smpp基本用法上并编写自己的Gateway

于 2018-01-17T10:04:27.540 回答