📄 zteforunconntemplet.java
字号:
LoggerConstant.log.info("------发送Crbt_Query2");
LoggerConstant.log.info("Sou_addr_6:"+crbt.getSou_addr_6());
LoggerConstant.log.info("Des_addr_6:"+crbt.getDes_addr_6());
LoggerConstant.log.info("Seq_no_10:"+crbt.getSeq_no_10());
LoggerConstant.log.info("craccount_20:"+crbt.getCraccount_20());
LoggerConstant.log.info("ret1_10:"+crbt.getRet1_10());
Crbt_Query2 CQ = new Crbt_Query2();
CQ.setSou_addr_6(crbt.getSou_addr_6());
CQ.setDes_addr_6(crbt.getDes_addr_6());
CQ.setSeq_no_10(crbt.getSeq_no_10());
CQ.setCraccount_20(crbt.getCraccount_20());
CQ.setRet1_10(crbt.getRet1_10());
this.write(CQ.getBytes());
LoggerConstant.log.info("------Crbt_Query2发送完毕!");
return CQ.getBytes();
}
/** 解析处理收到的字节信息 */
public void process(byte[] messageBuffer) {
String commandid=byte2str(messageBuffer,4,8);
if(commandid.equalsIgnoreCase("08020101")){//crbt_bind_rc_resp
processCrbt_bind_rc_resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("08020102")){//CRBT_BIND_SR_RESP
processCrbt_bind_sr_resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("08020201")){//Crbt_Generic_Nack_Resp
processCrbt_Generic_Nack_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("08020202")){//Crbt_Enquire_Link_Resp
processCrbt_Enquire_Link_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("08020401")){//Crbt_Unbind_Resp
processCrbt_Unbind_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("02020104")){//Crbt_Open_Rsp
processCrbt_Login_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020101")){//Crbt_Open_Rsp
processCrbt_Open_Rsp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020102")){//Crbt_Close_Resp
processCrbt_Close_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020204")){//Crbt_Password_Resp
processCrbt_Password_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020701")){//Crbt_On_Off_Resp
processCrbt_On_Off_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020905")){//Crbt_Add_Ring_Resp
processCrbt_Add_Ring_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020203")){//Crbt_Del_Ring_Resp
processCrbt_Del_Ring_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020902")){//Crbt_Get_Password_Resp
processCrbt_Get_Password_Resp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020926")){//Crbt_Present_Rsp
processCrbt_Present_Rsp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020659")){//Crbt_Name_Query_Rsp
processCrbt_Name_Query_Rsp(messageBuffer);
}else if(commandid.equalsIgnoreCase("01020660")){//Crbt_Query2_Rsp
processCrbt_Query2_Rsp(messageBuffer);
}
}
public void processSendActiveTest() {
log.info("------发送Crbt_Enquire_Link测试包------");
Crbt_Enquire_Link CEL=new Crbt_Enquire_Link();
this.write(CEL.getBytes());
}
public void processSendTermate() {
log.info("-------发送断开连接请求Crbt_Unbind------");
Crbt_Unbind CU=new Crbt_Unbind();
this.write(CU.getBytes());
// this.stopSendT();
// CrbtClientController.restart(this);
}
public void processClosed(){
if( this.idleFlag ){
this.stopSendT();
CrbtClientController.restart(this);
}
}
public void processCrbt_Query2_Rsp(byte[] ba){
Crbt_Query2_Rsp CQR = new Crbt_Query2_Rsp(ba);
if(CQR.isIsfinishedFlag()){//全部结果已出
if(Integer.parseInt(CQR.getStartnum_4())==0){//当起始记录是0000时
log.info("------查询个人铃音库全部结果:");
for(int i=0;i<CQR.getAllQuery2Result().length;i++){
log.info(" "+CQR.getAllQuery2Result()[i]);
}
}else{
log.info("------接上...:");
for(int i=0;i<CQR.getCurrentQuery2Result().length;i++){
log.info(" "+CQR.getCurrentQuery2Result()[i]);
}
log.info("------以上是查询个人铃音库全部结果,查询完毕!");
}
}else{//还有后续的查询结果,allnum=0000
log.info("------查询个人铃音库本次结果....");
for(int i=0;i<CQR.getCurrentQuery2Result().length;i++){
log.info(" "+CQR.getCurrentQuery2Result()[i]);
}
log.info("------未完待续....");
}
CRBT resp = new CRBT();
String Crid_resp_200 = "";
int len = CQR.getAllQuery2Result().length;
for(int i=len-1;i>=0;i--){
Crid_resp_200 = CQR.getAllQuery2Result()[i]+","+Crid_resp_200;
}
resp.setRespTime(Util.getCurrentTime());
resp.setCrid_resp_200(Crid_resp_200);
resp.setTotalnum_resp_4(CQR.getAllnum_4());
resp.setSeq_no_10(CQR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Name_Query_Rsp(byte[] ba){
Crbt_Name_Query_Rsp CNQR = new Crbt_Name_Query_Rsp(ba);
log.info("------该铃音共查询出 "+CNQR.getTotalnum_4()+" 个对应的铃音ID------");
for(int i=0;i<Integer.parseInt(CNQR.getTotalnum_4());i++){
log.info("------Crid("+(i+1)+") :"+CNQR.getCrid_20()[i]);
}
CRBT resp = new CRBT();
String Crid_resp_200 = "";
int len = CNQR.getCrid_20().length;
for(int i=len-1;i>=0;i--){
Crid_resp_200 = CNQR.getCrid_20()[i]+","+Crid_resp_200;
}
resp.setRespTime(Util.getCurrentTime());
resp.setCrid_resp_200(Crid_resp_200);
resp.setTotalnum_resp_4(CNQR.getTotalnum_4());
resp.setSeq_no_10(CNQR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Present_Rsp(byte[] ba){
Crbt_Present_Rsp CPR = new Crbt_Present_Rsp(ba);
if(Integer.parseInt(CPR.getCommand_status())==0){
log.info("------赠送铃音操作成功!------");
}else{
log.info("------赠送铃音操作失败------"+CPR.getCommand_status());
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setCommand_status_resp_4(CPR.getCommand_status());
resp.setSeq_no_10(CPR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Get_Password_Resp(byte[] ba){
Crbt_Get_Password_Resp CGPR = new Crbt_Get_Password_Resp(ba);
String Craccount = CGPR.getCraccount_20();
String Password = CGPR.getPassword_8();
log.info("------取回密码:Craccount:"+Craccount+"Password:"+Password);
CRBT resp = new CRBT();
// resp.setCommand_status_resp_4(CGPR.getCommand_status());
resp.setRespTime(Util.getCurrentTime());
resp.setCraccount_resp_20(Craccount);
resp.setPassword_resp_8(Password);
resp.setSeq_no_10(CGPR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Del_Ring_Resp(byte[] ba){
Crbt_Del_Ring_Resp CDRR=new Crbt_Del_Ring_Resp(ba);
if(Integer.parseInt(CDRR.getCommand_status())==0){
log.info("------删除个人铃音操作成功!------");
}else{
log.info("------删除个人铃音操作失败------"+CDRR.getCommand_status());
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setCommand_status_resp_4(CDRR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(CDRR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Add_Ring_Resp(byte[] ba){
Crbt_Add_Ring_Resp CARR = new Crbt_Add_Ring_Resp(ba);
if(Integer.parseInt(CARR.getCommand_status())==0){
log.info("------增加个人铃音操作成功!------");
}else{
log.info("------增加个人铃音操作失败------"+CARR.getCommand_status());
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setCommand_status_resp_4(CARR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(CARR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_On_Off_Resp(byte[] ba ){
Crbt_On_Off_Resp COOR = new Crbt_On_Off_Resp(ba);
if(Integer.parseInt(COOR.getCommand_status())==0){
log.info("------激活/去激活操作成功------");
}else{
log.info("------激活/去激活失败------"+COOR.getCommand_status());
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setCommand_status_resp_4(COOR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(COOR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Password_Resp(byte[] ba){
Crbt_Password_Resp CPR = new Crbt_Password_Resp(ba);
if(Integer.parseInt(CPR.getCommand_status())==0){
log.info("------密码修改成功!------");
}else{
log.info("------密码修改失败------"+CPR.getCommand_status());
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setCommand_status_resp_4(CPR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(CPR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Close_Resp(byte[] ba){
Crbt_Close_Resp CCR= new Crbt_Close_Resp(ba);
String command_status=CCR.getCommand_status();
if(Integer.parseInt(command_status)==0){
log.info("------销户操作成功!------");
}else{
log.info("------销户操作失败------"+command_status);
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setCommand_status_resp_4(CCR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(CCR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Login_Resp(byte[] ba){
Crbt_Login_Resp CLR= new Crbt_Login_Resp(ba);
String status=CLR.getStatus_2();//用户状态:1、激活;2、去激活
if(Integer.parseInt(status)==1){
log.info("------用户状态:激活------");
}else if(Integer.parseInt(status)==2){
log.info("------用户状态:去激活------");
}else{
log.info("------未知用户状态------");
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
resp.setStatus_resp_2(status);
// resp.setCommand_status_resp_4(CLR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(CLR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Open_Rsp(byte[] ba){
log.info("------接收到开户相应包Crbt_Open_Rsp------");
Crbt_Open_Rsp COR=new Crbt_Open_Rsp(ba);
String command_status=COR.getCommand_status();
if(Integer.parseInt(command_status)==0){
log.info("------开户操作成功------");
}else{
log.info("------开户操作失败------失败原因:"+command_status);
}
CRBT resp = new CRBT();
resp.setRespTime(Util.getCurrentTime());
// resp.setStatus_resp_2(status);
resp.setCommand_status_resp_4(COR.getCommand_status());
// resp.setCraccount_resp_20(Craccount);
// resp.setPassword_resp_8(Password);
resp.setSeq_no_10(COR.getSeq_no_10());
GetCRBTGlobalForUsual.getInstance().addResp(resp);
}
public void processCrbt_Unbind_Resp(byte[] ba){
log.info("------接收到断开连接响应包Crbt_Unbind_Resp------");
new Crbt_Unbind_Resp(ba);
}
public void processCrbt_Enquire_Link_Resp(byte[] ba){
log.info("------接收到processCrbt_Enquire_Link_Resp测试响应包------");
}
public void processCrbt_Generic_Nack_Resp(byte[] ba){
Crbt_Generic_Nack_Resp CGNR=new Crbt_Generic_Nack_Resp(ba);
String command_status=CGNR.getCommand_status();
log.info("------收到通用错误应答------"+command_status);
}
public void processCrbt_bind_rc_resp(byte[] ba) {
Crbt_Bind_RC_Resp CBRR=new Crbt_Bind_RC_Resp(ba);
String Random_number=CBRR.getRandom_number();
String pass="";
byte [] response=Util.md5(pass+Random_number);
Crbt_Bind_SR CBS=new Crbt_Bind_SR();
CBS.setDes_addr_6("");//目的地址
CBS.setSou_addr_6("");//源发送地址
CBS.setSeq_no_10(Util.getSeq_no());//序列号
CBS.setSp_code_20("");
CBS.setResponse_length_4(String.valueOf(response.length));
CBS.setResponse(response);
this.write(CBS.getBytes());
}
public void processCrbt_bind_sr_resp(byte[] ba) {
Crbt_Bind_SR_Resp CBSR=new Crbt_Bind_SR_Resp(ba);
String command_status=CBSR.getCommand_status();
if(Integer.parseInt(command_status)==0){
log.info("------成功建立连接------");
this.setIdleFlag(true);
if( this.getPeriod() > 0 ){
log.info("--- 启动发送线程 ---");
this.startSendT();
log.info("--- 发送线程启动完毕 ---");
}
}else{
log.info("------建立连接失败------"+command_status);
setIdleFlag(false);
if( this.getPeriod() > 0 ){
this.stopSendT();
}
try{
Thread.sleep(CrbtGWIFGlobal.operesponsetime * 1000);
}catch(Exception e){}
CrbtClientController.restart(this);
}
}
/**
* 处理异常
*/
public void processException(Throwable cause) {
if (cause instanceof java.io.IOException || cause instanceof java.lang.IllegalStateException) {
log.error("Exception : " , cause);
this.stopSendT();
CrbtClientController.restart(this);
} else{
CrbtGWIFGlobal.sendMonitor("I000001");
log.error("Exception : ", cause);
}
}
public static String byte2str(byte[] ba, int start, int len) {
if (ba.length <= start + len - 1) {
return null;
}
String r = new String();
for (int i = 0; i < len; i++) {
r += (char)ba[start + i];
}
return r;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -