📄 smsserver.java
字号:
package com.gctech.sms.sp;
import java.io.IOException;
import org.apache.log4j.Logger;
import java.io.InputStream;
import com.gctech.util.Tools;
import com.gctech.util.net.SocketService;
/**
* <p>Title: 给SP提供的短信服务器</p>
* <p>Description: 给SP提供的短信服务器,需要认证。</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: gctech</p>
* @author 王红宝
* @version $Id: SmsServer.java,v 1.1 2004/05/10 04:18:59 wanghb Exp $
*/
public class SmsServer extends SocketService{
public SmsServer() {
}
public static void main(String[] args) {
}
public void run(){
String spId = "UNKNOW";
String clientIp = "UNKNOW";
try{
//获取client ip
clientIp = sock.getInetAddress().getHostAddress();
//此处接收一个登录信息
InputStream in = sock.getInputStream();
byte[] data = new byte[Constants.LOGIN_MSG_LENGTH];
int rt = in.read(data);
if ( rt != Constants.LOGIN_MSG_LENGTH ){
logger.warn("从"+clientIp+"的连接包数据格式错误");
return;
}
//取出信息
spId = new String(data, 16, 20);
String authenClient = new String(data, 36, 16);
String timestamp = "" + Tools.byte2int(data, 52);
//拼凑明文
//查询出SP信息。
//int md5Len = spId.getBytes().length + 7 + secret.getBytes().length + 10;
//byte[] plain = new byte[];
logger.info( " Register \t\t\t\t\t\t[OK]" ) ;
//回复消息
while( sock.isConnected() ){
try{
//处理请求
// processRequest(ois, oos);
//休眠
Thread.sleep(50);
//IO错误,退出连接
} /*catch( IOException e ){
// logger.error(e, e);
break ;
//其它错误,记录日志
}*/ catch( Throwable t ){
logger.error(t, t);
}
}
} catch( Throwable e ){
logger.error(e, e);
} finally{
try{
sock.close() ;
} catch( Throwable ex ){
logger.error(ex, ex);
}
sock = null;
logger.info("释放从"+spId+":"+clientIp+"过来的连接 \t\t\t\t\t\t[成功]" ) ;
}
}
static final Logger logger = Logger.getLogger(SmsServer.class);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -