JSMPP 库enquireLinkTimer
中的类中的属性是什么?SMPPSession
它每N毫秒rebings会话?如果没有,有没有办法以一定的时间间隔自动重复会话?
或者我该怎么办,如果我遇到以下问题:当很长一段时间没有消息要发送时,我认为会话死亡(我得到了java.net.SocketException: Socket closed
)然后消息不发送。
通过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 */
}
}
}