📄 mtreceiver.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 + -