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

📄 slidewindow.java

📁 短信平台CMPP30 的JAVA程序,(含SQL数据库)
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    BindResp resp = (BindResp)tmp;
                    resp.readbody();
                    long s1 = tmp.getSeqno_1();
                    int s2 = tmp.getSeqno_2();
                    int s3 = tmp.getSeqno_3();
                    System.out.println(s1);
                    System.out.println(s2);
                    System.out.println(s3);
                    System.out.println(resp.GetResult());
                    if(packetArea != null)
                    {
                        packetArea.append(CTime.getStringDate() + "--SGIP12--BindResp: (SMG->SP)\n");
                        packetArea.append("TotalLength: " + tmp.getTotalLength() + "\n");
                        packetArea.append("CommandID: " + tmp.getCommandID() + "\n");
                        packetArea.append("SequenceID_1: " + s1 + "\n");
                        packetArea.append("SequenceID_2: " + s2 + "\n");
                        packetArea.append("SequenceID_3: " + s3 + "\n");
                        packetArea.append("Result: " + resp.GetResult() + "\n\n");
                    }
                    int bindResult = resp.GetResult();
                    if(bindResult == 0);
                    deSlideWindow(s1, s2, s3);
                    switch(bindResult)
                    {
                    case 1: // '\001'
                        SGIPLog.WriteLog(-2, "Bind包:非法登录,如登录名、口令出错、登录名与口令不符等", logFile);
                        break;

                    case 2: // '\002'
                        SGIPLog.WriteLog(-2, "Bind包:重复登录,如在同一TCP/IP连接中连续两次以上请求登录", logFile);
                        break;

                    case 3: // '\003'
                        SGIPLog.WriteLog(-2, "Bind包:连接过多,指单个节点要求同时建立的连接数过多", logFile);
                        break;

                    case 4: // '\004'
                        SGIPLog.WriteLog(-2, "Bind包:登录类型错,指bind命令中的logintype字段出错", logFile);
                        break;

                    case 5: // '\005'
                        SGIPLog.WriteLog(-2, "Bind包:参数格式错,指命令中参数值与参数类型不符或与协议规定的范围不符", logFile);
                        break;

                    case 9: // '\t'
                        SGIPLog.WriteLog(-2, "Submit包:非法序列号,包括序列号重复、序列号格式错误等", logFile);
                        break;

                    case 6: // '\006'
                    case 7: // '\007'
                    case 8: // '\b'
                    default:
                        SGIPLog.WriteLog(-3, "Bind包:未知错误!", logFile);
                        break;

                    case 0: // '\0'
                        break;
                    }
                }
                break;

            case 2: // '\002'
                System.out.println("--Unbind--");
                Unbind term = slideWindowData.getPacket().unbindPacket;
                int err = term.write(out);
                if(packetArea != null)
                {
                    packetArea.append(CTime.getStringDate() + "--SGIP12--Unbind: (SP->SMG)\n");
                    packetArea.append("TotalLength: " + term.getTotalLength() + "\n");
                    packetArea.append("CommandID: " + term.getCommandID() + "\n");
                    packetArea.append("SequenceID_1: " + term.getSeqno_1() + "\n");
                    packetArea.append("SequenceID_2: " + term.getSeqno_2() + "\n");
                    packetArea.append("SequenceID_3: " + term.getSeqno_3() + "\n\n");
                }
                if(err == 0)
                {
                    slideWindowData.increSendCountsByOne();
                    slideWindowData.getPacket().sequence_1 = term.getSeqno_1();
                    slideWindowData.getPacket().sequence_2 = term.getSeqno_2();
                    slideWindowData.getPacket().sequence_3 = term.getSeqno_3();
                    haveSendPosBegin = ((haveSendPosBegin + size) - 1) % size;
                    notSendPosEnd = haveSendPosBegin;
                } else
                {
                    SGIPLog.WriteLog(-2, err + " 发送Unbind出错", logFile);
                    System.out.println("err: " + err + " 发送Unbind出错");
                    throw new Exception("err: " + err + " 发送Unbind出错");
                }
                SGIP_Command tmp = sgip.read(input);
                if(sgip.getCommandID() != 0x80000002)
                    break;
                UnbindResp Unresp = (UnbindResp)tmp;
                System.out.println(tmp.getSeqno_1());
                System.out.println(tmp.getSeqno_2());
                System.out.println(tmp.getSeqno_3());
                if(packetArea != null)
                {
                    packetArea.append(CTime.getStringDate() + "--SGIP12--UnbindResp: (SMG->SP)\n");
                    packetArea.append("TotalLength: " + tmp.getTotalLength() + "\n");
                    packetArea.append("CommandID: " + tmp.getCommandID() + "\n");
                    packetArea.append("SequenceID_1: " + tmp.getSeqno_1() + "\n");
                    packetArea.append("SequenceID_2: " + tmp.getSeqno_2() + "\n");
                    packetArea.append("SequenceID_3: " + tmp.getSeqno_3() + "\n\n");
                }
                deSlideWindow(tmp.getSeqno_1(), tmp.getSeqno_2(), tmp.getSeqno_3());
                out.close();
                break;

            case 3: // '\003'
                System.out.println("--Submit--");
                SGIPPacket subPacket = slideWindowData.getPacket();
                Submit submit = subPacket.submitPacket;
                int err = submit.write(out);
                if(packetArea != null)
                {
                    packetArea.append(CTime.getStringDate() + "--SGIP12--Submit: (SP->SMG)\n");
                    packetArea.append("TotalLenth: " + submit.getTotalLength() + "\n");
                    packetArea.append("CommandID: " + submit.getCommandID() + "\n");
                    packetArea.append("SequenceID_1: " + submit.getSeqno_1() + "\n");
                    packetArea.append("SequenceID_2: " + submit.getSeqno_2() + "\n");
                    packetArea.append("SequenceID_3: " + submit.getSeqno_3() + "\n");
                    packetArea.append("SPNumber: " + submit.getSPNumber() + "\n");
                    packetArea.append("ChargeNumber: " + submit.getChargeNumber() + "\n");
                    packetArea.append("UserCount: " + submit.getUserCount() + "\n");
                    for(int i = 0; i < submit.getUserCount(); i++)
                        packetArea.append("UserNumber: " + submit.getUserNumber()[i] + "\n");

                    packetArea.append("CorpId: " + submit.getCorpId() + "\n");
                    packetArea.append("ServiceType: " + submit.getServiceType() + "\n");
                    packetArea.append("FeeType: " + submit.getFeeType() + "\n");
                    packetArea.append("FeeValue: " + submit.getFeeValue() + "\n");
                    packetArea.append("GivenValue: " + submit.getGivenValue() + "\n");
                    packetArea.append("AgentFlag: " + submit.getAgentFlag() + "\n");
                    packetArea.append("MorelatetoMTFlag: " + submit.getMOrelatetoMTFlag() + "\n");
                    packetArea.append("Priority: " + submit.getPriority() + "\n");
                    packetArea.append("ExpireTime: " + submit.getExpireTime() + "\n");
                    packetArea.append("ScheduleTime: " + submit.getScheduleTime() + "\n");
                    packetArea.append("ReportFlag: " + submit.getReportFlag() + "\n");
                    packetArea.append("MessageType: " + submit.getMessageType() + "\n");
                    packetArea.append("TP_pid: " + submit.getTP_pid() + "\n");
                    packetArea.append("TP_udhi: " + submit.getTP_udhi() + "\n");
                    packetArea.append("MessageCoding: " + submit.getMessageCoding() + "\n");
                    packetArea.append("MessageLength: " + submit.getMessageLength() + "\n");
                    packetArea.append("MessageContent: " + submit.getMessageContent() + "\n\n");
                }
                if(err == 0)
                {
                    slideWindowData.increSendCountsByOne();
                    slideWindowData.getPacket().sequence_1 = submit.getSeqno_1();
                    slideWindowData.getPacket().sequence_2 = submit.getSeqno_2();
                    slideWindowData.getPacket().sequence_3 = submit.getSeqno_3();
                    haveSendPosBegin = ((haveSendPosBegin + size) - 1) % size;
                    notSendPosEnd = haveSendPosBegin;
                } else
                {
                    SGIPLog.WriteLog(-2, err + " 发送Submit出错", logFile);
                    System.out.println("err: " + err + " 发送Submit出错");
                    throw new Exception("err: " + err + " 发送Submit出错");
                }
                SGIP_Command tmp = sgip.read(input);
                if(tmp.getCommandID() != 0x80000003)
                    break;
                SubmitResp submitresp = (SubmitResp)tmp;
                submitresp.readbody();
                System.out.println(tmp.getSeqno_1());
                System.out.println(tmp.getSeqno_2());
                System.out.println(tmp.getSeqno_3());
                System.out.println(submitresp.getResult());
                if(packetArea != null)
                {
                    packetArea.append(CTime.getStringDate() + "--SGIP12--SubmitResp: (SMG->SP)\n");
                    packetArea.append("TotalLenth: " + tmp.getTotalLength() + "\n");
                    packetArea.append("CommandID: " + tmp.getCommandID() + "\n");
                    packetArea.append("SequenceID_1: " + tmp.getSeqno_1() + "\n");
                    packetArea.append("SequenceID_2: " + tmp.getSeqno_2() + "\n");
                    packetArea.append("SequenceID_3: " + tmp.getSeqno_3() + "\n");
                    packetArea.append("Result: " + submitresp.getResult() + "\n\n");
                }
                int submitRst = submitresp.getResult();
                if(subPacket.localId == -1L)
                {
                    SGIPLog.WriteLog(-2, "SubmitResult包:错误的local ID", logFile);
                    throw new Exception("SubmitResult包:错误的local ID");
                }
                SGIPPacket pkt = new SGIPPacket();
                pkt.CommandId = 100;
                pkt.localId = subPacket.localId;
                pkt.submitResult = new SubmitResult();
                pkt.submitResult.localId = subPacket.localId;
                switch(submitRst)
                {
                case 0: // '\0'
                    deSlideWindow(tmp.getSeqno_1(), tmp.getSeqno_2(), tmp.getSeqno_3());
                    pkt.submitResult.result = 4;
                    break;

                case 5: // '\005'
                    SGIPLog.WriteLog(-2, "Submit包:参数格式错,指命令中参数值与参数类型不符或与协议规定的范围不符", logFile);
                    pkt.submitResult.result = 3;
                    break;

                case 6: // '\006'
                    SGIPLog.WriteLog(-2, "Submit包:非法手机号码,协议中所有手机号码字段出现非86130号码或手机号码前未加“86”时都应报错", logFile);
                    pkt.submitResult.result = 3;
                    break;

                case 7: // '\007'
                    SGIPLog.WriteLog(-2, "Submit包:消息ID错", logFile);
                    pkt.submitResult.result = 3;
                    break;

                case 8: // '\b'
                    SGIPLog.WriteLog(-2, "Submit包:信息长度错", logFile);
                    pkt.submitResult.result = 3;
                    break;

                case 9: // '\t'
                    SGIPLog.WriteLog(-2, "Submit包:非法序列号,包括序列号重复、序列号格式错误等", logFile);
                    pkt.submitResult.result = 3;
                    break;

                case 1: // '\001'
                case 2: // '\002'
                case 3: // '\003'
                case 4: // '\004'
                default:
                    SGIPLog.WriteLog(-3, "Bind包:未知错误!", logFile);
                    pkt.submitResult.result = 2;
                    break;
                }
                recvQueue.EnQueue(pkt);
                break;

            case 4096: 
                System.out.println("--Trace--");
                SGIPPacket trPacket = slideWindowData.getPacket();
                Trace tr = trPacket.tracePacket;
                int err = tr.write(out);
                if(packetArea != null)
                {
                    packetArea.append(CTime.getStringDate() + "--SGIP12--Trace: (SP->SMG)\n");
                    packetArea.append("TotalLength: " + tr.getTotalLength() + "\n");
                    packetArea.append("CommandID: " + tr.getCommandID() + "\n");
                    packetArea.append("SequenceID_1: " + tr.getSeqno_1() + "\n");
                    packetArea.append("SequenceID_2: " + tr.getSeqno_2() + "\n");
                    packetArea.append("SequenceID_3: " + tr.getSeqno_3() + "\n");
                    packetArea.append("UserNumber: " + tr.getUserNumber() + "\n\n");
                }
                if(err == 0)
                {
                    slideWindowData.increSendCountsByOne();
                    slideWindowData.getPacket().sequence_1 = tr.getSeqno_1();
                    slideWindowData.getPacket().sequence_2 = tr.getSeqno_2();
                    slideWindowData.getPacket().sequence_3 = tr.getSeqno_3();
                    haveSendPosBegin = ((haveSendPosBegin + size) - 1) % size;
                    notSendPosEnd = haveSendPosBegin;
                } else
                {
                    SGIPLog.WriteLog(-2, err + " 发送Trace出错", logFile);
                    System.out.println("err: " + err + " 发送Trace出错");
                    throw new Exception("err: " + err + " 发送Trace出错");
                }
                SGIP_Command tmp = sgip.read(input);
                if(sgip.getCommandID() != 0x80001000)
                    break;
                TraceResp trResp = (TraceResp)tmp;
                trResp.readbody();
                SGIPPacket pkt = new SGIPPacket();
                pkt.CommandId = trResp.getCommandID();
                pkt.traceRespPacket = trResp;
                recvQueue.EnQueue(pkt);
                System.out.println(tmp.getSeqno_1());
                System.out.println(tmp.getSeqno_2());
                System.out.println(tmp.getSeqno_3());
                System.out.println(trResp.getCount());
                System.out.println(trResp.getResult());
                System.out.println(trResp.getNodeId());
                System.out.println(trResp.getReceiveTime());
                System.out.println(trResp.getSendTime());
                if(packetArea != null)
                {
                    packetArea.append(CTime.getStringDate() + "--SGIP12--TraceResp: (SMG->SP)\n");
                    packetArea.append("TotalLength: " + tmp.getTotalLength() + "\n");
                    packetArea.append("CommandID: " + tmp.getCommandID() + "\n");
                    packetArea.append("SequenceID_1: " + tmp.getSeqno_1() + "\n");
                    packetArea.append("SequenceID_2: " + tmp.getSeqno_2() + "\n");
                    packetArea.append("SequenceID_3: " + tmp.getSeqno_3() + "\n");
                    packetArea.append("Count: " + trResp.getCount() + "\n");
                    packetArea.append("Result: " + trResp.getResult() + "\n");
                    packetArea.append("NodeId: " + trResp.getNodeId() + "\n");
                    packetArea.append("ReceiveTime: " + trResp.getReceiveTime() + "\n");
                    packetArea.append("SendTime: " + trResp.getSendTime() + "\n\n");
                }
                int trResult = trResp.getResult();
                switch(trResult)
                {
                case 0: // '\0'
                    deSlideWindow(tmp.getSeqno_1(), tmp.getSeqno_2(), tmp.getSeqno_3());
                    break;

                case 1: // '\001'
                    SGIPLog.WriteLog(-2, "Trace包:等待处理", logFile);
                    break;

                default:
                    SGIPLog.WriteLog(-3, "Trace包:未知错误!", logFile);
                    break;
                }
                break;

            default:
                SGIPLog.WriteLog(-3, "未知错误:未知的发送包!", logFile);
                break;
            }
        }
        catch(Exception e)
        {
            SGIPLog.WriteLog(-2, "发送数据包错误: " + e.toString(), logFile);
            throw new Exception("发送数据包错误: " + e.toString());
        }
        return -1;
    }
}

⌨️ 快捷键说明

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