亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sgip_command.java

?? 聯通的SGIP協議Java實現
?? JAVA
字號:
package spApi;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class SGIP_Command {
	protected byte[] bodybytes;
	protected MsgHead head;
	protected int TotalLength = 0;
	protected static Seq seq = null;
	public static final int LEN_SGIP_HEADER = 20;
	public static final int LEN_SGIP_BIND = 41;
	public static final int LEN_SGIP_BIND_RESP = 9;
	public static final int LEN_SGIP_UNBIND = 0;
	public static final int LEN_SGIP_UNBIND_RESP = 0;
	public static final int LEN_SGIP_SUBMIT = 123;
	public static final int LEN_SGIP_SUBMIT_RESP = 9;
	public static final int LEN_SGIP_DELIVER = 57;
	public static final int LEN_SGIP_DELIVER_RESP = 9;
	public static final int LEN_SGIP_REPORT = 44;
	public static final int LEN_SGIP_REPORT_RESP = 9;
	public static final int LEN_SGIP_USERRPT = 51;
	public static final int LEN_SGIP_USERRPT_RESP = 9;
	public static final int LEN_SGIP_TRACE = 41;
	public static final int LEN_SGIP_TRACE_RESP = 48;
	public static final int LEN_MAX_CONTENT = 160;
	public static final int TIMEOUT = 60000;
	public static final int SUBMIT_OK = 0;// 無錯誤命令正常接受
	public static final int SUBMIT_ERROR_STRUCTURE = 1;// 非法登錄,如登錄名、口令出錯、登錄名與口令不符等。
	public static final int SUBMIT_ERROR_COMMANDTYPE = 2;// 重復登錄,如在同一TCP/IP連接中連續兩次以上請求登錄。
	public static final int SUBMIT_ERROR_SEQ_DUPLICATE = 3;// 連接過多,指單個節點要求同時建立的連接數過多。
	public static final int SUBMIT_ERROR_MSG_LENGTH = 4;// 登錄類型錯,指bind命令中的logintype字段出錯。
	public static final int SUBMIT_ERROR_FEECODE = 5;// 參數格式錯,指命令中參數值與參數類型不符或與協議規定的范圍不符。
	public static final int SUBMIT_ERROR_CONTENT_LENGTH_EXCEED = 6;// 非法手機號碼,協議中所有手機號碼字段出現非86130號碼或手機號碼前未加“86”時都應報錯。
	public static final int SUBMIT_ERROR_SERVERID = 7;
	public static final int SUBMIT_ERROR_FLOW_CONTROL = 8;
	public static final int SUBMIT_ERROR_OTHERS = 9;
	public static final int ID_SGIP_BIND = 1;
	public static final int ID_SGIP_BIND_RESP = -2147483647;
	public static final int ID_SGIP_UNBIND = 2;
	public static final int ID_SGIP_UNBIND_RESP = -2147483646;
	public static final int ID_SGIP_SUBMIT = 3;
	public static final int ID_SGIP_SUBMIT_RESP = -2147483645;
	public static final int ID_SGIP_DELIVER = 4;
	public static final int ID_SGIP_DELIVER_RESP = -2147483644;
	public static final int ID_SGIP_REPORT = 5;
	public static final int ID_SGIP_REPORT_RESP = -2147483643;
	public static final int ID_SGIP_USERRPT = 17;
	public static final int ID_SGIP_USERRPT_RESP = -2147483631;
	public static final int ID_SGIP_TRACE = 4096;
	public static final int ID_SGIP_TRACE_RESP = -2147479552;
	public static final int MSG_TYPE_ASCII = 0;
	public static final int MSG_TYPE_WRITECARD = 3;
	public static final int MSG_TYPE_BINARY = 4;
	public static final int MSG_TYPE_UCS2 = 8;
	public static final int MSG_TYPE_CHINESE = 15;
	public static final int READ_SGIP_INVALID = 0;
	public static final int READ_SGIP_DELIVER = 1;
	public static final int READ_SGIP_REPORT = 2;
	public static final int READ_SGIP_USERRPT = 3;
	public static final int READ_SGIP_UNBIND = 4;

	public SGIP_Command() {
		head = new MsgHead();
		if (seq == null)
			seq = new Seq();
	}

	public SGIP_Command(long paramLong)// paramLong公司編碼
	{
		head = new MsgHead();
		if (seq == null)
			seq = new Seq();

		seq.setNodeId(paramLong);
	}

	public SGIP_Command(MsgHead paramMsgHead) {
		this.head = paramMsgHead;
		if (seq == null)
			seq = new Seq();
	}

	public SGIP_Command(SGIP_Command paramSGIP_Command) {
		head = paramSGIP_Command.head;
		bodybytes = paramSGIP_Command.bodybytes;
		TotalLength = paramSGIP_Command.TotalLength;
		seq = seq;
	}

	public SGIP_Command(long paramLong, int paramInt1, int paramInt2,
			int paramInt3, int paramInt4) {
		if (seq == null) {
			seq = new Seq(paramInt1, paramInt2);
		}

		seq.setNodeId(paramLong);

		this.TotalLength = (20 + paramInt3);

		this.head = new MsgHead();
		this.head.setTotalLength(this.TotalLength);
		this.head.setCommandID(paramInt4);
		this.head.setSeq_1(seq.getGlobalSeq_1());
		this.head.setSeq_2(seq.getGlobalSeq_2());
		this.head.setSeq_3(seq.getGlobalSeq_3());

		this.bodybytes = new byte[paramInt3];
	}

	public SGIP_Command(MsgHead paramMsgHead, int paramInt1, int paramInt2) {
		if (seq == null) {
			seq = new Seq();
		}

		this.TotalLength = (20 + paramInt1);

		this.head = new MsgHead();
		this.head.setTotalLength(this.TotalLength);
		this.head.setCommandID(paramInt2);
		this.head.setSeq_1(paramMsgHead.getSeq_1());
		this.head.setSeq_2(paramMsgHead.getSeq_2());
		this.head.setSeq_3(paramMsgHead.getSeq_3());

		this.bodybytes = new byte[paramInt1];
	}

	public SGIP_Command(long paramLong, int paramInt1, int paramInt2) {
		if (seq == null)
			seq = new Seq();

		seq.setNodeId(paramLong);

		this.TotalLength = (20 + paramInt1);

		this.head = new MsgHead();
		this.head.setTotalLength(this.TotalLength);
		this.head.setCommandID(paramInt2);
		this.head.setSeq_1(seq.getGlobalSeq_1());
		this.head.setSeq_2(seq.getGlobalSeq_2());
		this.head.setSeq_3(seq.getGlobalSeq_3());

		this.bodybytes = new byte[paramInt1];
	}

	public SGIP_Command(int paramInt1, int paramInt2) {
		if (seq == null) {
			seq = new Seq();
		}

		this.TotalLength = (20 + paramInt1);

		this.head = new MsgHead();
		this.head.setTotalLength(this.TotalLength);
		this.head.setCommandID(paramInt2);
		this.head.setSeq_1(seq.getGlobalSeq_1());
		this.head.setSeq_2(seq.getGlobalSeq_2());
		this.head.setSeq_3(seq.getGlobalSeq_3());

		this.bodybytes = new byte[paramInt1];
	}

	public int write(OutputStream paramOutputStream) {
		byte[] arrayOfByte;
		try {
			arrayOfByte = new byte[this.TotalLength];
			synchronized (Seq.seqclass) {
				Seq.computeSequence();
				this.head.setSeq_2(seq.getGlobalSeq_2());
				this.head.setSeq_3(seq.getGlobalSeq_3());
			}
			BytesCopy(this.head.Head, arrayOfByte, 0, 19, 0);
			BytesCopy(this.bodybytes, arrayOfByte, 0, TotalLength - 20 - 1, 20);
//			System.out.println("bobybytes1----->"+head.Head[2]);
//			System.out.println("bobybytes2----->"+bodybytes[2]);
//			System.out.println("bobybytes3------>"+bodybytes[3]);
//			System.out.println("bobybytes4------>"+bodybytes[4]);
//			System.out.println(arrayOfByte.equals(arrayOfByte));
			paramOutputStream.write(arrayOfByte);
			System.out.println("<><><><><><><><>"+TotalLength+"<><><><><><><><><><>"+"\n");
			return 0;
		} catch (Exception localException) {
			System.out.println(localException.toString());
		}
		return -1;
	}

	public SGIP_Command read(InputStream paramInputStream) throws IOException,
			Exception {
		head.read(paramInputStream);
		readdataintobody(paramInputStream);
		System.out.println("CommandID="+head.getCommandID());

		switch (head.getCommandID()) {
		case -2147483645:
			return new SubmitResp(this);
		case 4:
			return new Deliver(this);
		case -2147483644:
			return new DeliverResp(this);
		case 1:
			return new Bind(this);
		case -2147483647:
			return new BindResp(this);
		case 2:
			return new Unbind(this);
		case 3:
			return new Submit(this);
		case -2147483646:
			return new UnbindResp(this);
		case 5:
			return new Report(this);
		case -2147479552:
			return new TraceResp(this);
		case 17:
			return new Userrpt(this);
		}

		return null;
	}

	private void readdataintobody(InputStream paramInputStream)
			throws IOException, Exception {
		TotalLength = head.getTotalLength();
		bodybytes = new byte[this.TotalLength - 20];
		paramInputStream.read(bodybytes);
	}

	public int getTotalLength() {
		return this.head.getTotalLength();
	}

	public long getSeqno_1() {
		return this.head.getSeq_1();
	}

	public int getSeqno_2() {
		return this.head.getSeq_2();
	}

	public int getSeqno_3() {
		return this.head.getSeq_3();
	}

	public MsgHead getMsgHead() {
		return this.head;
	}

	public void setSeqno_1(long paramLong) {
		this.head.setSeq_1(paramLong);
	}

	public int getCommandID() {
		return this.head.getCommandID();
	}

	protected static int ByteToInt(byte paramByte) {
		return paramByte;
	}

	protected static byte IntToByte(int paramInt) {
		return (byte) paramInt;
	}

	protected static int BytesToInt(byte[] paramArrayOfByte) {
		return (((0xFF & paramArrayOfByte[0]) << 8) + paramArrayOfByte[1]);
	}

	protected static byte[] IntToBytes(int paramInt) {
		byte[] arrayOfByte = new byte[2];
		arrayOfByte[1] = (byte) (0xFF & paramInt);
		arrayOfByte[0] = (byte) ((0xFF00 & paramInt) >> 8);
		return arrayOfByte;
	}

	protected static byte[] IntToBytes4(int paramInt) {
		byte[] arrayOfByte = new byte[4];
		arrayOfByte[3] = (byte) (0xFF & paramInt);
		arrayOfByte[2] = (byte) ((0xFF00 & paramInt) >> 8);
		arrayOfByte[1] = (byte) ((0xFF0000 & paramInt) >> 16);
		arrayOfByte[0] = (byte) ((0xFF000000 & paramInt) >> 24);
		return arrayOfByte;
	}

	protected static byte[] LongToBytes4(long paramLong) {
		byte[] arrayOfByte = new byte[4];
		arrayOfByte[3] = (byte) (int) (0xFF & paramLong);
		arrayOfByte[2] = (byte) (int) ((0xFF00 & paramLong) >> 8);
		arrayOfByte[1] = (byte) (int) ((0xFF0000 & paramLong) >> 16);
		arrayOfByte[0] = (byte) (int) ((0xFF000000 & paramLong) >> 24);
		return arrayOfByte;
	}

	protected static void LongToBytes4(long paramLong, byte[] paramArrayOfByte) {
		paramArrayOfByte[3] = (byte) (int) (0xFF & paramLong);
		paramArrayOfByte[2] = (byte) (int) ((0xFF00 & paramLong) >> 8);
		paramArrayOfByte[1] = (byte) (int) ((0xFF0000 & paramLong) >> 16);
		paramArrayOfByte[0] = (byte) (int) ((0xFF000000 & paramLong) >> 24);
	}

	protected static void IntToBytes(int paramInt, byte[] paramArrayOfByte) {
		paramArrayOfByte[1] = (byte) (0xFF & paramInt);
		paramArrayOfByte[0] = (byte) ((0xFF00 & paramInt) >> 8);
	}

	protected static void IntToBytes4(int paramInt, byte[] paramArrayOfByte) {
		paramArrayOfByte[3] = (byte) (0xFF & paramInt);
		paramArrayOfByte[2] = (byte) ((0xFF00 & paramInt) >> 8);
		paramArrayOfByte[1] = (byte) ((0xFF0000 & paramInt) >> 16);
		paramArrayOfByte[0] = (byte) (int) ((0xFF000000 & paramInt) >> 24);
	}

	protected static int Bytes4ToInt(byte[] paramArrayOfByte) {
		return ((0xFF & paramArrayOfByte[0]) << 24
				| (0xFF & paramArrayOfByte[1]) << 16
				| (0xFF & paramArrayOfByte[2]) << 8 | 0xFF & paramArrayOfByte[3]);
	}

	protected static long Bytes4ToLong(byte[] paramArrayOfByte) {
		return ((0xFF & paramArrayOfByte[0]) << 24
				| (0xFF & paramArrayOfByte[1]) << 16
				| (0xFF & paramArrayOfByte[2]) << 8 | 0xFF & paramArrayOfByte[3]);
	}

	protected static void BytesCopy(byte[] paramArrayOfByte1,
			byte[] paramArrayOfByte2, int paramInt1, int paramInt2,
			int paramInt3) {
		int j = 0;
		for (int i = paramInt1; i <= paramInt2; ++i) {
			paramArrayOfByte2[(paramInt3 + j)] = paramArrayOfByte1[i];
			++j;
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
菠萝蜜视频在线观看一区| 91麻豆国产福利在线观看| 综合中文字幕亚洲| 欧美一级艳片视频免费观看| 成人av电影在线| 老司机免费视频一区二区| 亚洲欧美色图小说| 欧美激情中文字幕一区二区| 制服丝袜av成人在线看| 97久久人人超碰| 国产成人精品免费网站| 蜜臀av性久久久久蜜臀av麻豆| 亚洲欧美一区二区视频| 久久午夜羞羞影院免费观看| 精品久久久久久久久久久久久久久久久 | 国产不卡视频一区| 日韩激情视频在线观看| 亚洲欧美二区三区| 国产精品视频在线看| 欧美一区二区三区婷婷月色| 色综合久久99| 99re这里只有精品视频首页| 国产精品一二三区在线| 另类专区欧美蜜桃臀第一页| 五月婷婷综合激情| 亚洲成人免费影院| 亚洲第一搞黄网站| 一区二区欧美视频| 一区二区三区中文字幕精品精品| 中文字幕永久在线不卡| 中文字幕 久热精品 视频在线| 久久蜜臀中文字幕| 国产亚洲一区字幕| 国产婷婷精品av在线| 久久九九久精品国产免费直播| 欧美一区二区久久| 欧美美女一区二区在线观看| 欧美日韩一区二区在线视频| 欧美亚洲国产一卡| 欧美色精品天天在线观看视频| 日本韩国欧美一区| 欧美日韩一级黄| 制服.丝袜.亚洲.中文.综合| 69堂成人精品免费视频| 日韩午夜在线影院| 精品美女在线播放| 国产日韩欧美综合在线| 国产精品久久一级| 亚洲最色的网站| 午夜精品久久一牛影视| 麻豆成人久久精品二区三区红 | 久久福利视频一区二区| 美女看a上一区| 国产激情视频一区二区在线观看 | 亚洲午夜av在线| 亚洲成人第一页| 裸体歌舞表演一区二区| 国产在线播放一区二区三区| 成人激情图片网| 欧美在线三级电影| 欧美一区二区成人| 午夜视频一区在线观看| 麻豆成人91精品二区三区| 国产精品系列在线观看| 91在线丨porny丨国产| 欧美午夜片在线看| 欧美电影免费观看完整版| 日本一区二区三区久久久久久久久不| 国产精品免费av| 亚洲二区视频在线| 国产麻豆精品久久一二三| 色综合久久综合| 91精品国产综合久久久久久久 | 欧美激情一区二区在线| 亚洲影视在线播放| 精品一区二区免费看| 91网站视频在线观看| 在线电影一区二区三区| 国产日韩视频一区二区三区| 亚洲一区二区三区在线看| 久久99精品久久久久久动态图| 99视频一区二区| 日韩一级二级三级| 亚洲人成在线播放网站岛国| 日韩av中文字幕一区二区| 成人深夜在线观看| 日韩午夜中文字幕| 亚洲综合成人在线视频| 国产精品一区二区91| 7777精品伊人久久久大香线蕉超级流畅 | 青娱乐精品视频| 97久久精品人人爽人人爽蜜臀 | 亚洲图片激情小说| 美国av一区二区| 欧美亚洲日本一区| 国产精品网站在线播放| 青青草视频一区| 91久久免费观看| 国产欧美日本一区视频| 天使萌一区二区三区免费观看| 成人午夜又粗又硬又大| 日韩视频免费直播| 亚洲小少妇裸体bbw| 99精品视频在线免费观看| 精品成人佐山爱一区二区| 一区二区在线观看视频| 高清成人免费视频| 精品国产一区二区三区av性色| 亚洲成人在线观看视频| 91丨porny丨首页| 亚洲一二三区不卡| 成人晚上爱看视频| 久久―日本道色综合久久| 日本aⅴ精品一区二区三区| 欧美日韩国产不卡| 亚洲精品国产无天堂网2021| 成人网在线免费视频| 久久久www免费人成精品| 男女男精品视频网| 777奇米四色成人影色区| 一区二区日韩电影| 日本电影亚洲天堂一区| 日韩美女视频一区| 成人av午夜影院| 国产亚洲福利社区一区| 久草在线在线精品观看| 日韩欧美一级二级| 蜜臀精品一区二区三区在线观看| 欧美日韩免费视频| 亚洲国产成人av| 欧美日韩国产欧美日美国产精品| 亚洲与欧洲av电影| 欧美日韩你懂的| 亚洲成人资源网| 欧美一区二区成人6969| 美女被吸乳得到大胸91| 精品日产卡一卡二卡麻豆| 国内精品国产成人国产三级粉色| 欧美成人激情免费网| 久久99国内精品| 久久这里都是精品| 国产超碰在线一区| 国产精品私房写真福利视频| 波多野结衣中文字幕一区| 中文字幕中文在线不卡住| 91网站最新地址| 亚洲国产精品久久人人爱| 在线播放中文字幕一区| 美女网站在线免费欧美精品| 久久午夜电影网| 成人av片在线观看| 亚洲一区二区在线视频| 欧美一区二区不卡视频| 国产精选一区二区三区| 国产免费观看久久| 色伊人久久综合中文字幕| 午夜欧美一区二区三区在线播放| 日韩一卡二卡三卡国产欧美| 国产酒店精品激情| 亚洲男同性恋视频| 91精品国产综合久久久久久漫画| 九九九精品视频| 1024亚洲合集| 欧美欧美欧美欧美首页| 激情都市一区二区| 亚洲乱码精品一二三四区日韩在线 | 国产一区欧美日韩| 亚洲三级小视频| 欧美一级夜夜爽| 成人激情免费电影网址| 亚洲一级在线观看| 精品伦理精品一区| 99视频热这里只有精品免费| 亚洲成人你懂的| 国产偷v国产偷v亚洲高清| 在线视频你懂得一区二区三区| 青青草原综合久久大伊人精品 | 五月综合激情婷婷六月色窝| 久久伊99综合婷婷久久伊| 一本色道久久综合精品竹菊| 蜜臀国产一区二区三区在线播放| 中文字幕乱码日本亚洲一区二区| 欧美丝袜自拍制服另类| 国产馆精品极品| 亚洲高清视频中文字幕| 国产午夜精品福利| 亚洲欧美日韩中文播放| 欧美一激情一区二区三区| 不卡在线观看av| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲一级二级三级| 国产日产欧美一区二区视频| 欧美日韩mp4| 99久久婷婷国产精品综合| 蜜臀久久99精品久久久久宅男| 一区二区三区四区亚洲| 欧美国产一区视频在线观看| 日韩视频免费观看高清完整版| 91美女在线看| 国产成人精品免费网站|