java 联通sgip协议(中兴的jar包)如何断线重连?

做一个给联通号段发送短信的服务,用的是中兴的jar包:com.zte.smgw.api.sgip,程序刚运行都是正常的,但是隔个几天就发不出去了,程序也不报错,检查日志,发现有大量输出“ERROR com.zte.smgw.socket.client.ClientSendThread-发送线程:链路未连接”,经过检查,发现是jar包里打印的日志,并且在jar包内部try-catch消费掉了,自己的程序都没法捕获到,问了一圈有说是一段时间没有数据量链接,服务端主动端口,但是我看了这个jar包里的方法,都没有什么检测状态、心跳保持或者重新连接的方法,想问问有没有朋友也用过这个,遇到过类似的问题,是怎么解决的?

我的线程代码结构大致是这样的:

        SGIPClientInitInfo info = new SGIPClientInitInfo();

        info.IP = host;
        info.port = port;
        info.userName = username;
        info.passWord = password;
        info.maxLink = maxlink;

       //文档里写了SGIPClient是单例模式,且只能初始化一次,重复无效
        client = SGIPClient.getInstance();
        client.init(info);

        while(true){
        /*获取待发短信,并用client.sendSubmit方法发送*/
        }
查看全部
supermozhe
新墨者
2019/03/20 17:28
  • java
  • 点赞
  • 收藏
  • 回答
    私信

0个回复