JSMPP - EnquireLinkTimer,长时间不活动后会话终止

JSMPP - EnquireLinkTimer, session dies after long time inactivity

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

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

enquireLinkTimer 通过向 SMSC 发送保活消息来保持您与 SMSC 的连接。但它不能 rebring/reconnect 断开连接。

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

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

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 */
        }
    }
}