【问题标题】:How to set timeout in SMPP如何在 SMPP 中设置超时
【发布时间】:2019-03-13 08:30:47
【问题描述】:

有人知道在向 SMSC 提交消息 (submit_sm) 时如何设置超时吗?我尝试将接收超时 (session.getReceiver().setReceiveTimeout) 设置为 6 秒,但大约 30 秒后我仍然得到空响应。

以下是我设置的超时时间:

  • session.getReceiver().setReceiveTimeout(6000)
  • session.getReceiver().setQueueTimeout(6000)
  • TCPIPConnection.setCommsTimeout(5000)
  • TCPIPConnection.setReceiveTimeout(5000)

目前我正在使用 OpenSMPP

TIA :)

【问题讨论】:

    标签: java timeout smpp opensmpp


    【解决方案1】:

    制定新的未来任务

    public static class SubmitSMTask implements Callable<SubmitSMResp>{
        SubmitSM smRequest;
        Session sessionSend;
    
        public SubmitSMTask(Session sessionSend, SubmitSM smRequest) {
            this.sessionSend = sessionSend;
            this.smRequest = smRequest;
        }
    
        @Override
        public SubmitSMResp call() throws Exception {
            SubmitSMResp response = sessionSend.submit(smRequest);
            return response;
        }
    }
    

    然后调用它。我用 100 毫秒作为超时时间

    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<SubmitSMResp> future = executor.submit(new SubmitSMTask(sessionSend, smRequest));
    SubmitSMResp response = future.get(100, TimeUnit.MILLISECONDS);
    smsId = response.getMessageId();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2018-07-21
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 2017-07-06
      相关资源
      最近更新 更多