⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mtreceiver.java

📁 采用JAVA开发
💻 JAVA
字号:
package com.gctech.sms.gateway.basic;

import java.net.Socket;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.net.InetAddress;
import com.gctech.sms.msg.RegInfo;
import com.gctech.sms.msg.MTAck;
import org.apache.log4j.Logger;
import com.gctech.sms.msg.MTInfo;
import com.gctech.sms.msg.RegAck;
import java.util.Vector;
import java.util.List;
import java.io.*;
import java.util.Collection;
import java.util.Iterator;
import java.io.IOException;
import com.gctech.sms.util.ThreadManager;

/**
 * <p>Title: 网关的MT接收者</p>
 * <p>Description: 网关的MT接收者,要主动发起连接请求,接收来自短信业务平台的请求。</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: gctech</p>
 * @author 王红宝
 * @version $Id: MTReceiver.java,v 1.2 2004/06/23 09:46:06 wanghb Exp $
 */

public abstract class MTReceiver extends LongConnectClient implements Runnable{

  /**
   * 发送下行消息,返回消息序列号。
   * */
  abstract protected int sendMt(MTInfo info) throws IOException;

  public void init( int gateway, String strGateway, String gatewayDesc,
                     String serverIp, int serverPort){
    this.intGateway = gateway ;
    this.strGateway = strGateway;
    this.serverIp = serverIp;
    this.serverPort = serverPort;
    this.gatewayDesc = gatewayDesc;
    this.gatewayType = 1;
    while( !this.keepAlive() )
       ;
  }

  public void run(){

    while( true ){
      try{
       while( true ){
          /**从短信平台取得消息,回复消息*/
          MTInfo info = ( MTInfo )ois.readObject() ;
          /**发送消息*/
          logger.debug(info);
          int seq = sendMt(info);
          //写到已发送列表
          DataList.getInstance().putMtSendOut(seq, info.MsgID);
        }
      } catch( Throwable t ){
        logger.error(t, t);
        while( !this.keepAlive() );
       }
    }
  }

  /**
   * 回复短信平台。
   * */
  public void sendAck(MTAck objMTAck) throws IOException {
    logger.debug(objMTAck);
    oos.writeObject( objMTAck ) ;
    oos.reset() ;
  }
  static final Logger logger = Logger.getLogger(MTReceiver.class);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -