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

📄 cmppconnect.java

📁 短信平台CMPP30 的JAVA程序,(含SQL数据库)
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   CMPPConnect.java

package com.cmpp3_0.process;

import com.cmpp3_0.body.BodyConnect;
import com.cmpp3_0.body.Header;
import com.cmpp3_0.util.*;
import java.io.*;
import java.net.SocketException;
import java.util.StringTokenizer;

// Referenced classes of package com.cmpp3_0.process:
//            CMPPAPIs, CMPPSocket

public class CMPPConnect
{

    private byte bodyBytes[];
    private BodyConnect bodyContent;
    private byte headBytes[];
    private Header headContent;
    private CMPPSocket socket;

    public CMPPConnect(CMPPSocket socket)
    {
        headContent = new Header(12, 1, 0);
        this.socket = socket;
        bodyContent = new BodyConnect();
        bodyBytes = new byte[27];
        headBytes = new byte[12];
        CMPPUtil.bytesCopy(CMPPUtil.intToFourBytes(39), headBytes, 0, 4, 0);
        CMPPUtil.bytesCopy(CMPPUtil.intToFourBytes(headContent.getCommandId()), headBytes, 0, 4, 4);
        CMPPUtil.bytesCopy(CMPPUtil.intToFourBytes(headContent.getSeqId()), headBytes, 0, 4, 8);
    }

    public int getTotalLength()
    {
        return headContent.getTotalLength();
    }

    public int sendConnect()
    {
        int result = 0;
        socket.out.write(headBytes);
        socket.out.write(bodyBytes);
        socket.out.flush();
        break MISSING_BLOCK_LABEL_174;
        SocketException se;
        se;
        if(CMPPAPIs.isDebugMode())
            System.err.println(se.toString());
        Logger.writeLog(-2, "CONNECT FAILURE: SOCKET Exception!--可能是TCP/IP连接出现错误--链路将被断开 -- 发送连接包失败!", "cmpp");
        result = -509;
        return result;
        IOException ie;
        ie;
        if(CMPPAPIs.isDebugMode())
            System.err.println(ie.toString());
        Logger.writeLog(-2, "CONNECT FAILURE: IO Exception! -- 发送连接包失败!", "cmpp");
        result = -101;
        return result;
        NullPointerException npe;
        npe;
        if(CMPPAPIs.isDebugMode())
            npe.printStackTrace();
        Logger.writeLog(-2, "CONNECT FAILURE: NullPointerException! -- 发送连接包失败!\n" + npe.toString(), "cmpp");
        result = -102;
        return result;
        Exception e;
        e;
        Logger.writeLog(-2, "CONNECT FAILURE: Exception! -- 发送连接包失败!", "cmpp");
        if(CMPPAPIs.isDebugMode())
            System.out.println("发送了连接请求包!");
        return result;
    }

    public int setBodyContent(BodyConnect bodyConnect)
    {
        int pos;
        if(bodyConnect == null)
            return -217;
        bodyContent = bodyConnect;
        pos = 0;
        byte srcAddrBytes[] = bodyContent.srcAddr.getBytes();
        CMPPUtil.bytesCopy(srcAddrBytes, bodyBytes, 0, 6, 0);
        pos += 6;
        int authPos = 0;
        byte bzero[] = new byte[9];
        byte bMd5[] = new byte[bodyContent.srcAddr.length() + bzero.length + bodyContent.spPwd.getBytes().length + bodyContent.timeStamp.getBytes().length];
        CMPPUtil.bytesCopy(bodyContent.srcAddr.getBytes(), bMd5, 0, bodyContent.srcAddr.getBytes().length, authPos);
        authPos += bodyContent.srcAddr.getBytes().length;
        CMPPUtil.bytesCopy(bzero, bMd5, 0, bzero.length, authPos);
        authPos += bzero.length;
        CMPPUtil.bytesCopy(bodyContent.spPwd.getBytes(), bMd5, 0, bodyContent.spPwd.getBytes().length, authPos);
        authPos += bodyContent.spPwd.getBytes().length;
        CMPPUtil.bytesCopy(bodyContent.timeStamp.getBytes(), bMd5, 0, bodyContent.timeStamp.getBytes().length, authPos);
        authPos += bodyContent.timeStamp.getBytes().length;
        MD5 md5 = new MD5();
        md5.update(bMd5);
        bMd5 = md5.getFinal();
        CMPPUtil.bytesCopy(bMd5, bodyBytes, 0, bMd5.length, pos);
        pos += 16;
        StringTokenizer st;
        st = new StringTokenizer(bodyContent.version, ".", false);
        if(st.countTokens() == 2)
            break MISSING_BLOCK_LABEL_330;
        Logger.writeLog(-2, "version版本号不对,不是3.0这种格式!请检查xml初始化文件中的version字段的数据!", "cmpp");
        return -215;
        int vi = Integer.parseInt(st.nextToken());
        int vii = Integer.parseInt(st.nextToken());
        byte vb = (byte)vi;
        byte vbb = (byte)vii;
        if(CMPPAPIs.isDebugMode())
            System.out.println("\n\nversion: 整数部分-" + vb + "-小数部分- " + vbb);
        vb = (byte)(vb << 4 & 0xf0);
        vbb &= 0xf;
        byte bversion = (byte)(vb | vbb);
        bodyBytes[pos] = bversion;
        pos++;
        int ts = Integer.parseInt(bodyContent.timeStamp);
        if(CMPPAPIs.isDebugMode())
            System.out.println("timeStamp:" + bodyContent.timeStamp + "-- to int :" + ts);
        CMPPUtil.bytesCopy(CMPPUtil.intToFourBytes(ts), bodyBytes, 0, 4, pos);
        return 0;
        NumberFormatException fe;
        fe;
        if(CMPPAPIs.isDebugMode())
            System.err.println("connect:NumberformatException--" + fe.toString());
        Logger.writeLog(-1, "connect:NumberformatException" + fe.toString(), "cmpp");
        return -218;
    }

    public void setSequenceId(int seqId)
    {
        headContent.setSeqId(seqId);
        CMPPUtil.bytesCopy(CMPPUtil.intToFourBytes(seqId), headBytes, 0, 4, 8);
    }
}

⌨️ 快捷键说明

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