3

JSMPP 库enquireLinkTimer中的类中的属性是什么?SMPPSession它每N毫秒rebings会话?如果没有,有没有办法以一定的时间间隔自动重复会话?

或者我该怎么办,如果我遇到以下问题:当很长一段时间没有消息要发送时,我认为会话死亡(我得到了java.net.SocketException: Socket closed)然后消息不发送。

4

1 回答 1

3

通过enquireLinkTimer向 SMSC 发送 keep-alive-messages 来保持与 SMSC 的连接。但它不能重新建立/重新连接断开的连接。

也许 SMSC 会在一段时间后决定关闭连接,因为您有一段时间没有发送 SMS。您必须通过丢弃旧会话并创建新会话来手动重新连接。

如果您想立即重新连接,您可以为会话设置状态更改侦听器:

yourSession.addSessionStateListener(new SessionStateListener() {
    @Override
    public void onStateChange(SessionState newState, SessionState oldState,
                                          Object source)
    {
        if (newState == SessionState.CLOSED) {
            /* throw away old session and create a new one */
        }
    }
}
于 2015-05-18T04:41:31.427 回答