0

有谁知道为什么 OpenSMPP 的接收方法上的超时设置总是被十整除的原因或逻辑?这是根据我的经验:当我设置为 5 秒时,超时变为 10 秒,当我设置为 11 秒时,超时变为 20 秒。

我试图通过深入研究 open-smpp-3.0.1 的代码来寻找答案,但我找不到 1 秒变为 10 秒的逻辑。我希望这里有人能够在此之前弄清楚这一点。

顺便说一句,我的绑定请求是一个接收器,我的同步模式是同步的。

4

1 回答 1

1

我认为是“队列等待超时”。在代码中说明了这个值:

“此超时指定如果 PDU(预期或任何)尚未在 pduQueue 中,则接收等待多长时间。之后再次探测队列(等)直到接收超时到期或收到 PDU” .

默认值为 10 秒,因此,如果超时为 1 到 10 秒,则仅等待队列 10 秒,但如果您为接收者定义 11 秒的超时,它会等待队列 2 次。这样接收器等待 20 秒。您可以在绑定此方法后修改此值调用:

sessionSmpp.getReceiver().setQueueWaitTimeout(milliseconds);

于 2017-02-09T17:21:26.843 回答