?? cmppdeliverrep.java
字號(hào):
package com.ekun.sms.cmpp2;
import java.io.*;
public class CmppDeliverRep
{
public CmppDeliverRep(CmppSocket sock)
{
TotalLength = 21;
this.sock = sock;
SequenceId = 0;
CommandID = 0x80000005;
/*分配CMPP_Deliver_Rep包體*/
bodybytes = new byte[9];
/*分配CMPP_Deliver_Rep包頭*/
headbytes = new byte[12];
/*設(shè)置包頭*/
CmppCommon.BytesCopy(CmppCommon.IntToBytes4(TotalLength), headbytes, 0, 3,
0);
CmppCommon.BytesCopy(CmppCommon.IntToBytes4(CommandID), headbytes, 0, 3, 4);
CmppCommon.BytesCopy(CmppCommon.IntToBytes4(SequenceId), headbytes, 0, 3, 8);
}
/*名稱:setcmppDeliverRep
* 功能:設(shè)置CMPP_Deliver_Rep包項(xiàng)目
* 輸入?yún)?shù):SequenceId,MsgId,Result
*
* 輸出參數(shù):無(wú)
*
* 返回值:無(wú)
*/
public void setcmppDeliverRep(byte[] MsgId, int Result)
{
/*設(shè)置包體*/
int cur_pos = 0;
CmppCommon.BytesCopy(MsgId, bodybytes, 0, 7, cur_pos);
cur_pos += 8;
bodybytes[cur_pos] = (byte) Result;
}
/*名稱:sendcmppConnect
* 功能:發(fā)送CMPP_Deliver_Rep包
* 輸入?yún)?shù):無(wú)
*
* 輸出參數(shù):無(wú)
*
* 返回值:>0:包序列號(hào),-1:失敗
*/
public int sendcmppDeliverRep()
{
int i = 0;
try
{
sock.bout.write(headbytes);
sock.bout.write(bodybytes);
sock.bout.flush();
//CmppCommon.printBytes(headbytes,12);
//CmppCommon.printBytes(bodybytes,9);
}
catch (IOException e)
{
System.out.println(e.toString());
i = -5;
return i;
}
catch (NullPointerException npe)
i = -5;
return -5;
}
return i;
}
/*名稱:setSequenceId
* 功能:設(shè)置SequenceId項(xiàng)目
* 輸入?yún)?shù):SequenceId
*
* 輸出參數(shù):無(wú)
*
* 返回值:無(wú)
*/
public void setSequenceId(int SequenceId)
{
this.SequenceId = SequenceId;
CmppCommon.BytesCopy(CmppCommon.IntToBytes4(SequenceId), headbytes, 0, 3, 8);
}
/*名稱:getTotalLength
* 功能:返回包總長(zhǎng)度
* 輸入?yún)?shù):
*
* 輸出參數(shù):無(wú)
*
* 返回值:包總長(zhǎng)度
*/
public int getTotalLength()
{
return TotalLength;
}
public byte bodybytes[]; //包體
public byte headbytes[]; //包頭
CmppSocket sock; //socket鏈路
byte[] MsgId; //消息標(biāo)識(shí)
int Result;
/*0:正確
1:消息結(jié)構(gòu)錯(cuò)
2:命令字錯(cuò)
3:消息序號(hào)重復(fù)
4:消息長(zhǎng)度錯(cuò)
5:資費(fèi)代碼錯(cuò)
6:超過(guò)最大信息長(zhǎng)
7:業(yè)務(wù)代碼錯(cuò)
8: 流量控制錯(cuò)
9~ :其他錯(cuò)誤
*/
private int CommandID; //包類型
private int SequenceId; //包序列號(hào)
private int TotalLength;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -