📄 cmppconnect.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 + -