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

📄 cmppconnectmessage.java

📁 移动CMPP的网关,JAVA又一实现,非常完整的代码.
💻 JAVA
字号:
/*
 * Created on Mar 17, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.grail.comm.cmpp.message;

import java.util.Date;

import com.grail.comm.cmpp.CMPPConstant;
import com.grail.util.SecurityTools;
import com.grail.util.TypeConvert;

/**
 * @author eclipse
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class CMPPConnectMessage extends CMPPMessage {

    private String outStr;

    public CMPPConnectMessage(String source_Addr, int version,
            String shared_Secret, Date timestamp)
            throws IllegalArgumentException {
        if (source_Addr == null)
            throw new IllegalArgumentException(String.valueOf(String
                    .valueOf((new StringBuffer(String.valueOf(String
                            .valueOf(CMPPConstant.CONNECT_INPUT_ERROR))))
                            .append(":source_Addr").append(
                                    CMPPConstant.STRING_NULL))));
        if (source_Addr.length() > 6)
            throw new IllegalArgumentException(String.valueOf(String
                    .valueOf((new StringBuffer(String.valueOf(String
                            .valueOf(CMPPConstant.CONNECT_INPUT_ERROR))))
                            .append(":source_Addr").append(
                                    CMPPConstant.STRING_LENGTH_GREAT).append(
                                    "6"))));
        if (version < 0 || version > 255)
            throw new IllegalArgumentException(String.valueOf(String
                    .valueOf((new StringBuffer(String.valueOf(String
                            .valueOf(CMPPConstant.CONNECT_INPUT_ERROR))))
                            .append(":version").append(
                                    CMPPConstant.INT_SCOPE_ERROR))));
        int len = 39;
        buf = new byte[len];
        TypeConvert.int2byte(len, buf, 0);
        TypeConvert.int2byte(1, buf, 4);
        System.arraycopy(source_Addr.getBytes(), 0, buf, 12, source_Addr
                .length());
        if (shared_Secret != null)
            len = source_Addr.length() + 19 + shared_Secret.length();
        else
            len = source_Addr.length() + 19;
        byte tmpbuf[] = new byte[len];
        int tmploc = 0;
        System.arraycopy(source_Addr.getBytes(), 0, tmpbuf, 0, source_Addr
                .length());
        tmploc = source_Addr.length() + 9;
        if (shared_Secret != null) {
            System.arraycopy(shared_Secret.getBytes(), 0, tmpbuf, tmploc,
                    shared_Secret.length());
            tmploc += shared_Secret.length();
        }
        String tmptime = "0008080808";
        System.arraycopy(tmptime.getBytes(), 0, tmpbuf, tmploc, 10);
        SecurityTools.md5(tmpbuf, 0, len, buf, 18);
        buf[34] = (byte) version;
        TypeConvert.int2byte(0x7b4da8, buf, 35);
        outStr = ",source_Addr=".concat(String.valueOf(String
                .valueOf(source_Addr)));
        outStr = String.valueOf(String.valueOf((new StringBuffer(String
                .valueOf(String.valueOf(outStr)))).append(",version=").append(
                version)));
        outStr = String.valueOf(String.valueOf((new StringBuffer(String
                .valueOf(String.valueOf(outStr)))).append(",shared_Secret=")
                .append(shared_Secret)));
        outStr = String.valueOf(String.valueOf((new StringBuffer(String
                .valueOf(String.valueOf(outStr)))).append(",timeStamp=")
                .append(tmptime)));
    }

    public String toString() {
        String tmpStr = "CMPP_Connect: ";
        tmpStr = String.valueOf(String.valueOf((new StringBuffer(String
                .valueOf(String.valueOf(tmpStr)))).append("Sequence_Id=")
                .append(getSequenceId())));
        tmpStr = String.valueOf(tmpStr) + String.valueOf(outStr);
        return tmpStr;
    }

    public int getCommandId() {
        return 1;
    }
}

⌨️ 快捷键说明

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