📄 connectionserver.java
字号:
unPackCode = cmpp_sm.getParseResult() ; debugMsg(cmpp_sm); switch ( cmpp_sm.getCommandId() ) { case CmppConstants.Cmpp_Submit_Resp: //(正常Submit回应) ComConstants.test_number++; if(cmpp_sm.activeResult!=0){ PublicConstants.writeLog.info("(cmpp_sm.respResult!=0 ="+cmpp_sm.activeResult,0); } if(ComConstants.test_number%99==0){ PublicConstants.writeLog.info("reciev a resp from Ismg "+ComConstants.test_number,1); } if ( !addCmppMsg(cmpp_sm) ) { PublicConstants.writeLog.error("Cmpp Cmpp_Fwd_MO_Resp from "+myid+" write vector error!" +"\nseqno:"+cmpp_sm.headSeqcNo +"\nstatus:"+cmpp_sm.headCmdStatus ); } break; case CmppConstants.Cmpp_Deliver: //(正常Deliver) TestMOnum ++ ; if( ( TestMOnum %200 ) == 1 ) System.out.println("Cmpp_Deliver :"+TestMOnum+" handle time:"+System.currentTimeMillis()); if( mystate!=ComConstants.WORKING ) { deliverRespSM.setHeadCmdStatus(CmppConstants.error_bind) ;// } else if( myBindType==ComConstants.SEND_ONLY ) {// deliverRespSM.setHeadCmdStatus(CmppConstants.error_bind_type) ; } else if(unPackCode != CmppConstants.success) { deliverRespSM.setHeadCmdStatus(unPackCode) ; } else if(! addCmppMsg(cmpp_sm) ) {//add to vector2 deliverRespSM.setHeadCmdStatus(CmppConstants.error) ;//等待重发 PublicConstants.writeLog.error("Cmpp Cmpp_Deliver from "+myid+ " write vector error!"); } else { if( ( TestMOnum %200 ) == 1 ) System.out.println("Cmpp_Deliver :"+TestMOnum+" add to vector succ !"); deliverRespSM.setHeadCmdStatus(CmppConstants.success) ; } if( deliverRespSM.getHeadCmdStatus() != CmppConstants.success ) PublicConstants.writeLog.error("Cmpp Cmpp_Deliver from "+myid+" error ! my.Retcode:"+cmpp_sm.getHeadCmdStatus() +"\nheadSeqcNo:"+cmpp_sm.headSeqcNo +"\nmsgid:"+cmpp_sm.msgId +"\nmsgMode:"+cmpp_sm.msgMode +"\nmsgSrcAddr:"+cmpp_sm.msgSrcAddr +"\nmsgDestAddr:"+cmpp_sm.msgDestAddr +"\nmsgDataCoding:"+cmpp_sm.msgDataCoding +"\nmsgSmLength:"+cmpp_sm.msgLength +"\nmsgContent:"+cmpp_sm.msgContent); deliverRespSM.setCommandId(CmppConstants.Cmpp_Deliver_Resp) ; deliverRespSM.headSeqcNo = cmpp_sm.headSeqcNo ; deliverRespSM.recvTimeStamp=cmpp_sm.recvTimeStamp; send(deliverRespSM) ; break; case CmppConstants.Cmpp_Report: //(正常Report) TestMOnum ++ ; if( ( TestMOnum %200 ) == 1 ) System.out.println("Cmpp_Deliver :"+TestMOnum+" handle time:"+System.currentTimeMillis()); if( mystate!=ComConstants.WORKING ) { deliverRespSM.setHeadCmdStatus(CmppConstants.error_bind) ;// } else if( myBindType==ComConstants.SEND_ONLY ) {// deliverRespSM.setHeadCmdStatus(CmppConstants.error_bind_type) ; } else if(unPackCode != CmppConstants.success) { deliverRespSM.setHeadCmdStatus(unPackCode) ; } else if(! addCmppMsg(cmpp_sm) ) {//add to vector2 deliverRespSM.setHeadCmdStatus(CmppConstants.error) ;//等待重发 PublicConstants.writeLog.error("Cmpp Cmpp_Deliver from "+myid+ " write vector error!"); } else { if( ( TestMOnum %200 ) == 1 ) System.out.println("Cmpp_Deliver :"+TestMOnum+" add to vector succ !"); deliverRespSM.setHeadCmdStatus(CmppConstants.success) ; } if( deliverRespSM.getHeadCmdStatus() != CmppConstants.success ) PublicConstants.writeLog.error("Cmpp Cmpp_Deliver from "+myid+" error ! my.Retcode:"+cmpp_sm.getHeadCmdStatus() +"\nheadSeqcNo:"+cmpp_sm.headSeqcNo +"\nmsgid:"+cmpp_sm.msgId +"\nmsgMode:"+cmpp_sm.msgMode +"\nmsgSrcAddr:"+cmpp_sm.msgSrcAddr +"\nmsgDestAddr:"+cmpp_sm.msgDestAddr +"\nmsgDataCoding:"+cmpp_sm.msgDataCoding +"\nmsgSmLength:"+cmpp_sm.msgLength +"\nmsgContent:"+cmpp_sm.msgContent); deliverRespSM.setCommandId(CmppConstants.Cmpp_Report_Resp) ; deliverRespSM.headSeqcNo = cmpp_sm.headSeqcNo ; send(deliverRespSM) ; break; case CmppConstants.Cmpp_Login: //(Sp Login请求回应) mystate = ComConstants.WORKING; myShutdownFlag = false; CmppConnectionManager.testConnectionNo++;// System.out.println("SERVER Cmpp login "+cmpp_sm.srcSectionId+" OK! "+CmppConnectionManager.testConnectionNo); PublicConstants.writeLog.info("SERVER Cmpp login "+cmpp_sm.srcSectionId+" OK! "+CmppConnectionManager.testConnectionNo,0); cmpp_sm.setCommandId(CmppConstants.Cmpp_Login_Resp); cmpp_sm.activeResult=0; send(cmpp_sm); break; case CmppConstants.Cmpp_Logout: //(Sp Login请求回应) System.out.println("SERVER Cmpp login "+cmpp_sm.srcSectionId+" OK!"); PublicConstants.writeLog.info("SERVER Cmpp login "+cmpp_sm.srcSectionId+" OK! ",0); cmpp_sm.setCommandId(CmppConstants.Cmpp_Logout_Resp); cmpp_sm.activeResult=0; send(cmpp_sm); mystate = ComConstants.NOTLOGIN; break; case CmppConstants.Cmpp_Login_Resp: //(Sp Login请求回应) if( unPackCode != CmppConstants.success ) { PublicConstants.writeLog.error("Cmpp login "+myid+" error ! unPackCode:"+unPackCode); break; }// if ( cmpp_sm.getHeadCmdStatus() != CmppConstants.success) {// PublicConstants.writeLog.error("Cmpp login "+myid+" error ! RespCode: " + cmpp_sm.getHeadCmdStatus());// break;// }// cmpp_sm.setConAuth(myMBEauth);// if( cmpp_sm.getRepAuthResult()==true ) {// myLastVersion = cmpp_sm.getLastVersion(); mystate = ComConstants.WORKING; System.out.println("Cmpp login "+myid+" OK! bindtype:"+myBindType ); PublicConstants.writeLog.info("Cmpp login "+myid+" OK! bindtype:"+myBindType,0); //PublicFuction.threadSleep(1000) ;// if( myBindType == ComConstants.SEND_ONLY ){ // System.out.println("Submit one message !!!!!!!:"+myBindType); // CmppConnectionManager.instance().sendToIsmg("13975147840","566899","JYTZ","Test",(byte)1,0,(long)0);// }// } else {// disconnect();// myDelFlag = true;// CmppConnectionManager.instance()).delConncection(myid);// myShutdownFlag = true;// PublicConstants.writeLog.error("Cmpp login "+myid+" error! Invalid ISMG server ! ");// } break; case CmppConstants.Cmpp_Logout_Resp: mystate= ComConstants.NOTLOGIN; PublicConstants.writeLog.info("Cmpp logout "+myid+" . status:"+cmpp_sm.getHeadCmdStatus(),0); break; //deal heartbeat case CmppConstants.Cmpp_Active: //(Active请求) PublicConstants.writeLog.info("Cmpp recv Cmpp_Active from "+myid,3 ); if( mystate!=ComConstants.WORKING ) { cmpp_sm.setHeadCmdStatus(CmppConstants.error_bind) ; } else { cmpp_sm.setHeadCmdStatus(CmppConstants.success); } cmpp_sm.setCommandId(CmppConstants.Cmpp_Active_Resp); //设定包命令类型 send(cmpp_sm); break; case CmppConstants.Cmpp_Active_Resp: // Active请求回应 PublicConstants.writeLog.info("Cmpp recv Cmpp_Active_Resp from "+myid,3 ); break; case CmppConstants.Cmpp_Nack_Resp: PublicConstants.writeLog.error("Cmpp recv Cmpp_Nack_Resp from "+myid ); break; default: PublicConstants.writeLog.error("Cmpp recv error command from "+myid +" cmd:"+ cmpp_sm.getCommandId() ); //给Sp的确认 cmpp_sm.setCommandId(CmppConstants.Cmpp_Nack_Resp) ; //未知命令类型 cmpp_sm.setHeadCmdStatus(CmppConstants.error_command_id) ; send(cmpp_sm) ; break; } } public void disconnect() { mystate= ComConstants.NOTCONNECTED; try { myinputstream .close() ; } catch ( Exception e) {} ; try { myoutputstream .close() ; } catch ( Exception e) {} ; try { mySocket.close() ; } catch ( Exception e) {} ; } //发送Login 命令 public void Login() { //send login package System.out.println("Cmpp Connected "+myid+" OK ! Loginning(bindtype:"+myBindType+") ... (" +myip+" , "+ myport +" )" ); PublicConstants.writeLog.info("Cmpp Connected "+myid+" OK ! Loginning(bindtype:"+myBindType+") ...",0); ShortMsgCmpp cmpp_sm = new ShortMsgCmpp(); cmpp_sm.setConSourceAddr(ComConstants.o_IsmgInfo.spName);// cmpp_sm.setConSourceAddr("960000"); cmpp_sm.setCommandId(CmppConstants.Cmpp_Login) ; cmpp_sm.setBindType(myBindType); /*cmpp_sm.setRepAuth(digest) ; System.out.println("sourceid:"+cmpp_sm.conSourceAddr); System.out.println("conTimestamp:"+cmpp_sm.conTimestamp ); System.out.println("mbcaid:"+cmpp_sm.getMpcaId() ); System.out.println("command id:"+cmpp_sm.getCommandId() );*/ mystate=ComConstants.NOTLOGIN; send( cmpp_sm ); myMBEauth = cmpp_sm.getConAuth() ; mylastactivetime = System.currentTimeMillis() ; } //发送Logout 命令 public void submitLogout() { //send logout package ShortMsgCmpp cmpp_sm = new ShortMsgCmpp(); cmpp_sm.setCommandId(CmppConstants.Cmpp_Logout) ; send( cmpp_sm ); } //发送Active 命令// private boolean heartBeat() {// ShortMsgCmpp cmpp_sm = new ShortMsgCmpp();// cmpp_sm.setCommandId(CmppConstants.Cmpp_Active) ;// //cmpp_sm.setHeadSeq(Constants.mo_number+Constants.reTime())// //Constants.mo_number++;// if (ComConstants.mo_number>=100000000)// ComConstants.mo_number=1;// else// ComConstants.mo_number++; //与协议转换模块统一// send( cmpp_sm );// return true;// } public void setLastVersion(byte i) { myLastVersion = i; } public byte getLastVersion() { return myLastVersion; } /** * 获取连接状态 * @return * WORKING:正常 * NOTCONNECTED:未连接 * NOTLOGIN:未登陆 * NOTACTIVE:非激活 */ public String getStatus() { return mystate; } /** * 获取连接收发类型(暂有争议,2002-07-18) * @return * 0:发送 * 1:接收 * 2:收发 */ public byte getBindType() { return myBindType; } /** * 获取连接C/S类型 * @return * CLIENT:MPCU为客户端 * SERVER:MPCU为服务端 */ public byte getConnType() { return myConnType; } /** * 该连接在路由表中是否已经可以删除 * @return * true :是 * false:否 */ public boolean getDeleteFlag() { return myDelFlag; } /** * 输出调试信息到日志文件<br> * Constants.DEBUGLevel规定调试信息详细程度<br> * @param sm ShortMsgCmpp对象 */ public void debugMsg(ShortMsgCmpp sm) { /*if(PublicConstants.DEBUGLevel ==0) return ; //无调试信息*/ switch(sm.getCommandId()) { case CmppConstants.Cmpp_Submit: PublicConstants.writeLog.info( "Cmpp Send <Cmpp_Submit> to ISMG" ,0); PublicConstants.writeLog.info( "Cmpp: headSeqcNo:"+sm.headSeqcNo +"\n"+"msgid:"+sm.msgId +"\n"+"msgSrcAddr:"+sm.msgSrcAddr +"\n"+"msgDestAddr:"+sm.msgDestAddr +"\n"+"msgServiceType:"+sm.msgServiceType +"\n"+"msgProtocolId:"+sm.msgProtocolId +"\n"+"msgMode:"+sm.msgMode +"\n"+"msgPriority:"+sm.msgPriority +"\n"+"msgDataCoding:"+sm.msgDataCoding +"\n"+"msgSmLength:"+sm.msgLength +"\n"+"msgContent:"+sm.msgContent,2); break; case CmppConstants.Cmpp_Submit_Resp: PublicConstants.writeLog.info( "Cmpp Recv <Cmpp_Submit_Resp> from ISMG. status:"+sm.headCmdStatus+" headSeqcNo:"+sm.headSeqcNo,0 ); break; case CmppConstants.Cmpp_Deliver: PublicConstants.writeLog.info( "Cmpp Recv <Cmpp_Deliver> from ISMG",0); PublicConstants.writeLog.info( "Cmpp: headSeqcNo:"+sm.headSeqcNo +"\n"+"spId:"+sm.spId +"\n"+"msgid:"+sm.msgId +"\n"+"msgServiceType:"+sm.msgServiceType +"\n"+"msgMode:"+sm.msgMode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -