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

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

?? cmpp.java

?? 用JAVA 實現 的移動的CMPP短信發送協議
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package com.hoten.cmpp.type;import com.hoten.cmpp.message.*;import com.hoten.cmpp.*;import com.hoten.cmpp.socket.*;import com.hoten.cmpp.util.*;import java.util.*;import java.io.*;import java.net.*;/** * <p>Title: 通信主類</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class CMPP implements CMPP_Service{    private CMPP_InitMessage initMsg=CMPP_InitMessage.getInstance();    private SocketManager spm=null;    private String logFile=initMsg.logFile;    private Socket s=null;    private String poolName=null;    private int flag=-1;    private long time=initMsg.timeout;    private Vector deliverMsgList=null;    private DataInputStream in=null;    private DataOutputStream out=null;    private int C=initMsg.C;    private int N=initMsg.N;    private int sendOut=1;    private int checkTime=(int)(System.currentTimeMillis()/1000);    private String icp=null;    public CMPP() {    }    //初始化CMPP    public int initCMPP(String poolName,String host,String icp_ID,String user,String auth,String timeStamp,int version,int port,String loginFlag,Vector list){        int stat=-1;        int timeout=1000*10;        icp=icp_ID;        try {            spm=new SocketManager(host,user,auth,timeStamp,version,port,timeout);            this.poolName=poolName;            deliverMsgList=list;            stat = initCMPP();        }        catch (Exception ex) {            spm.freeSocket();            s=null;            stat=-1;        }        return stat;    }    private int initCMPP()throws Exception{        sendOut=1;        int stat = CMPP_SUCCESS;        try {            CMPPConnectMessage cMsg=new CMPPConnectMessage();            sendOut=cMsg.setSequenceID(sendOut);            String time=CTime.getTime(CTime.YYMMDDhhmmss);            byte[] auth =getAuthString(time);            MD5 md5 = new MD5();            byte md5Msg[]=md5.getMD5ofBytes(auth,auth.length);            stat=login(cMsg,md5Msg,time);            if(stat!=CMPP_SUCCESS){                Log.printEvent("初使化CMPP發生錯誤,resp stat:"+stat,logFile);            }else{                Log.printEvent("初使化CMPP成功"+Thread.currentThread().getName(),logFile);            }        }        catch (Exception ex){            stat=CONNECT_INIT_ERROR;            Log.printError(ex,"初使化CMPP發生錯誤"+Thread.currentThread().getName(),logFile);        }        try {            Thread.currentThread().sleep(1000);        }        catch (Exception ex) {        }        return stat;    }    private byte[] getAuthString(String time){//取得登錄認證碼(轉換前)        byte[] user=spm.getUSER();        byte[] auth = spm.getAuth();        byte[] timeStamp = time.getBytes();        if(user==null||auth==null)            return null;        byte abyte2[] = new byte[100];        System.arraycopy(user, 0, abyte2, 0, user.length);//icp        int k = user.length+ 9;        System.arraycopy(auth, 0, abyte2, k, auth.length);//keys        k += auth.length;        System.arraycopy(timeStamp, 0, abyte2, k, 10);//keys        k += 10;        byte auths[] = new byte[k];        System.arraycopy(abyte2, 0,auths, 0, k);//keys        return auths;    }    private int login(CMPPConnectMessage cMsg,byte[] auth,String time)throws IOException,Exception{        int stat = CMPP_SUCCESS;        int length=0;        byte[] inMsg = new byte[100];        System.arraycopy(Tools.int2byte(cMsg.nCommandID),0,inMsg,4,4);        System.arraycopy(Tools.int2byte(cMsg.nSequenceID),0,inMsg,8,4);        length=12;        System.arraycopy(icp.getBytes(),0,inMsg,length,icp.getBytes().length);        length+=icp.getBytes().length;        System.arraycopy(auth,0,inMsg,length,auth.length);        length+=auth.length;        inMsg[length]=(byte)spm.getVersion();        length++;        System.arraycopy(Tools.int2byte(Integer.parseInt(time)),0,inMsg,length,4);        length+=4;        cMsg.nMsgSize=length;        System.arraycopy(Tools.int2byte(cMsg.nMsgSize),0,inMsg,0,4);        byte[] send = new byte[length];        System.arraycopy(inMsg,0,send,0,length);        s = spm.getSocket();        ///發送認證碼        send(send);        //接收認證碼        CMPPHead head= Deliver();        if(head.nCommandID==this.COMMAND_CMPP_CONNECT_RESP){            stat=head.stat;        }else{            Log.printEvent("標準:登陸連接反饋發生錯誤!",logFile);            stat=CONNECT_MSG_RESP_NOT_FOUNT_ERROR;        }        //關閉接收發送通道        if(stat!=CMPP_SUCCESS){            close();        }        return stat;    }    //關閉與網關連接的SOCKET在調用了logout后調用    //發送斷開連接消息給網關    public void quit(){        CMPPHead logout = new CMPPHead();         sendOut=logout.setSequenceID(sendOut);         logout.nCommandID=2;         logout.nMsgSize=12;         try {             sendHead(logout);         }         catch (Exception ex) {         }        close();    }    //信息提交    public int submit(SubmitMsg msg)throws IOException{        try {            if(msg==null){                if(!activeTest("auto")){                    throw new IOException();                }                return 0;            }            CMPPSubmitMessage submitMessage = new CMPPSubmitMessage(msg);            boolean splitFlag=true;            Vector vMsg=null;            try {                if(submitMessage.picAndRing!=null){                    submitMessage.sMsgContent="1";                    splitFlag=false;                }                vMsg = SplitMsg.split(submitMessage.sMsgContent,splitFlag);             //信息分割隊列            }            catch (Exception ex) {                return -1;            }            int size=vMsg.size();            int stat[] = new int[size];            int i;            for(i=0;i<size;i++){                sendOut=submitMessage.setSequenceID(sendOut);                submitMessage.sMsgContent = (String)(vMsg.remove(0));  //信息內容                submitMessage.nPkTotal=size;                submitMessage.nPkNumber=i+1;                stat[i]=sendMsg(submitMessage);                if(stat[i]!=0) return stat[i];            }        }        catch (IOException ex) {            close();            throw ex;        }        return 0;    }    private int sendMsg(CMPPSubmitMessage msg)throws IOException{        int stat = CMPP_SUCCESS;        byte[] sendMsg=null;        try {            sendMsg = getSendMsg(msg);        }        catch (Exception ex) {            sendOut--;            return SUBMIT_MSG_FORMAT_ERROR;        }        int i=N;//重新發送次數        while(i!=0){            try {                sendPacket(msg,sendMsg);            }            catch (IOException ex) {                sendOut--;               throw ex;            }            CMPPHead back= Deliver();            if(back.stat==DELIVER_MSG_TIME_OUT){                i--;                if(i==0)                    stat=SUBMIT_MSG_TIME_OUT;                continue;            }            if(back.nCommandID==this.COMMAND_CMPP_SUBMIT_RESP){                return back.stat;            }            if(back.nCommandID==this.COMMAND_CMPP_TERMINATE){                throw new IOException();            }            if(back.nCommandID==this.COMMAND_CMPP_DELIVER){                deliverMsgList.addElement(((CMPPDeliverMessage)back).getDeliverMsg());                continue;            }            else                return this.CMPP_UNKNOWN_PACKAGE_ERROR;        }        return stat;    }    private byte[] getSendMsg(CMPPSubmitMessage msg)throws Exception{        byte send[]= new byte[1024*3];        send[8]=(byte)msg.nPkTotal;        send[9]=(byte)msg.nPkNumber;        send[10]=(byte)msg.nNeedReply;        send[11]=(byte)msg.nMsgLevel;        System.arraycopy(msg.sServiceId.getBytes(),0,send,12,msg.sServiceId.getBytes().length);        send[22]=(byte)msg.nFeeUserType;        if(msg.sFeeMobile!=null)            System.arraycopy(msg.sFeeMobile.getBytes(),0,send,23,msg.sFeeType.getBytes().length);        send[44]=(byte)msg.nTPpId;        send[45]=(byte)msg.nTPudhi;        send[46]=(byte)msg.nMsgFormat;        System.arraycopy(icp.getBytes(),0,send,47,icp.getBytes().length);        System.arraycopy(msg.sFeeType.getBytes(),0,send,53,msg.sFeeType.getBytes().length);        System.arraycopy(msg.sFeeCode.getBytes(),0,send,55,msg.sFeeCode.getBytes().length);        if(msg.sValidTime!=null)            System.arraycopy(msg.sValidTime.getBytes(),0,send,61,msg.sValidTime.getBytes().length);        if(msg.sAtTime!=null)            System.arraycopy(msg.sAtTime.getBytes(),0,send,78,msg.sAtTime.getBytes().length);        System.arraycopy(msg.sSrcId.getBytes(),0,send,95,msg.sSrcId.getBytes().length);        System.arraycopy(msg.getDestBytes(),0,send,117,msg.nDestUsrTl*21);        send[116]=(byte)msg.nDestUsrTl;        int size=117+msg.nDestUsrTl*21;        byte[] sMsgContent=null;        if(msg.picAndRing!=null){            send[size]=(byte)msg.picAndRing.length;            System.arraycopy(msg.picAndRing,0,send,size+1,msg.picAndRing.length);        }else{            try {                if(msg.nMsgFormat==8)                    sMsgContent=msg.sMsgContent.getBytes("iso-10646-ucs-2");                else if(msg.nMsgFormat==15)                    sMsgContent=msg.sMsgContent.getBytes("gb2312");                else                    sMsgContent=msg.sMsgContent.getBytes("iso-8859-1");            }            catch (Exception ex) {            }            send[size]=(byte)sMsgContent.length;            System.arraycopy(sMsgContent,0,send,size+1,sMsgContent.length);        }        int length=0;        if(msg.picAndRing==null)            length = 118+msg.nDestUsrTl*21+msg.sMsgContent.getBytes().length;        else            length = 118+msg.nDestUsrTl*21+msg.picAndRing.length;        length++;        byte[] msgBytes= new byte[length];        System.arraycopy(send,0,msgBytes,0,length);        return msgBytes;    }    //信息刪除    public int Cancel(){        CMPPCancelMessage cancelMessage = new CMPPCancelMessage();        CMPPCancelMessageResp cancelResp = new CMPPCancelMessageResp();        return 1;    }    private CMPPHead dealMsg(CMPPHead head,byte[] msg)throws IOException,Exception{        CMPPHead backMsg = new CMPPHead();        int stat=head.stat;        switch (head.nCommandID){            case COMMAND_CMPP_NACK_RESP:                break;            case COMMAND_CMPP_CONNECT_RESP:                CMPPConnectMessageResp cResp = new CMPPConnectMessageResp();                if(msg==null) stat=CONNECT_MSG_NULL_ERROR;                else{                    cResp.nStatus=msg[0];                    try {                        stat= msg[0];                        if(stat!=3)                            cResp.sISMG=new String(msg,1,16);                        cResp.nVersion=msg[msg.length-1];                    }                    catch (Exception ex) {                        stat=CONNECT_MSG_FORMAT_ERROR;                    }                }                cResp.nStatus=stat;                backMsg=cResp;                break;            case COMMAND_CMPP_DELIVER:                CMPPDeliverMessage back=new CMPPDeliverMessage();                stat = getDeliverMessage(back,msg);                CMPPDeliverMessageResp resp = new CMPPDeliverMessageResp();                resp.nMsgId=back.msgID;                resp.nSequenceID=back.nSequenceID;                resp.nMsgSize=21;                resp.nResult=stat;                byte[] send = new byte[9];                System.arraycopy(Tools.long2byte(resp.nMsgId),0,send,0,8);                send[8]=(byte)resp.nResult;                try {                    sendPacket(resp,send);                }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人天堂av网| 久久夜色精品国产噜噜av| 成人免费观看av| 国产裸体歌舞团一区二区| 日日骚欧美日韩| 亚洲福利一区二区| 亚洲影院久久精品| 三级成人在线视频| 美女精品自拍一二三四| 蜜臀91精品一区二区三区 | 国产成人午夜精品5599| 美女视频一区二区| 国产一区二区导航在线播放| 国产麻豆一精品一av一免费| 高清不卡一二三区| 成年人国产精品| 在线免费亚洲电影| 欧美高清hd18日本| 欧美精品一区二区三| 中文字幕精品三区| 一区二区三区欧美| 蜜臀精品一区二区三区在线观看 | 国产91色综合久久免费分享| 99riav一区二区三区| 色先锋aa成人| 日韩午夜激情视频| 久久久不卡网国产精品一区| 1024精品合集| 日本在线不卡一区| 国产伦精一区二区三区| 99re亚洲国产精品| 欧美一级二级三级乱码| 国产午夜亚洲精品午夜鲁丝片| 国产精品电影一区二区| 亚洲一级不卡视频| 国产精品一区二区三区网站| 91国产免费观看| 精品国产免费人成在线观看| 亚洲欧美日韩电影| 青青草原综合久久大伊人精品优势| 国产成人av资源| 884aa四虎影成人精品一区| 精品日韩成人av| 亚洲综合无码一区二区| 经典一区二区三区| 欧美日韩免费视频| 国产精品久久久久久久裸模| 日韩高清一级片| 91网上在线视频| 久久精品亚洲麻豆av一区二区| 一区二区三区毛片| 国产suv精品一区二区883| 欧美高清视频在线高清观看mv色露露十八| 久久新电视剧免费观看| 五月婷婷色综合| 色8久久精品久久久久久蜜| 欧美成人伊人久久综合网| 亚洲激情图片一区| 成人性生交大片| ww久久中文字幕| 久久99国产精品麻豆| 欧美视频在线一区| 亚洲蜜臀av乱码久久精品| 粉嫩绯色av一区二区在线观看| 欧美成人性福生活免费看| 一卡二卡三卡日韩欧美| 一本色道久久综合精品竹菊| 欧美精彩视频一区二区三区| 久草这里只有精品视频| 欧美一区二区三区四区在线观看| 亚洲美女免费视频| 色综合天天综合在线视频| 精品影视av免费| 欧美放荡的少妇| 亚洲国产日韩av| 欧美日韩一区视频| 亚洲国产aⅴ成人精品无吗| 日本韩国一区二区三区| 亚洲激情校园春色| 欧美天堂亚洲电影院在线播放| 亚洲欧美日韩一区二区三区在线观看| 成人一区二区三区在线观看| 国产女人18水真多18精品一级做 | 色哦色哦哦色天天综合| 亚洲欧美经典视频| 欧美在线影院一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 精品久久国产字幕高潮| 久久99精品久久久久婷婷| www日韩大片| 成人午夜免费视频| 国产精品国产三级国产aⅴ入口| 91丨九色丨国产丨porny| 亚洲在线一区二区三区| 欧美日韩国产乱码电影| 美女在线观看视频一区二区| 久久久久久影视| kk眼镜猥琐国模调教系列一区二区| 亚洲视频资源在线| 欧美日韩一本到| 久久99热这里只有精品| 久久精品人人做人人爽人人| 成人污视频在线观看| 亚洲综合视频在线| 精品乱码亚洲一区二区不卡| 成人国产精品免费观看视频| 亚洲精品中文在线| 欧美一区二区大片| 成人天堂资源www在线| 五月激情综合婷婷| 久久人人爽人人爽| 欧美中文字幕不卡| 麻豆成人91精品二区三区| 日本一区二区电影| 欧美色中文字幕| 国产精品1区2区| 午夜视频一区二区三区| 国产偷v国产偷v亚洲高清| 在线观看国产日韩| 粉嫩av一区二区三区在线播放| 亚洲国产aⅴ天堂久久| 久久久国产精品麻豆| 欧美三级乱人伦电影| 成人免费毛片高清视频| 精品一区免费av| 亚洲国产一区在线观看| 亚洲国产成人在线| 日韩精品综合一本久道在线视频| 色爱区综合激月婷婷| 国产精品一区二区视频| 日本伊人色综合网| 一区二区三区在线视频免费| 26uuu精品一区二区三区四区在线| 欧美视频在线一区二区三区| 成人av在线网站| 国产在线精品一区二区夜色 | 国产永久精品大片wwwapp| 夜夜嗨av一区二区三区四季av| 久久久久88色偷偷免费| 欧美一区二区精美| 欧美日韩在线观看一区二区 | 91黄色免费观看| 国产精品小仙女| 久久99精品久久久久久国产越南 | 日本三级亚洲精品| 亚洲一区二区三区四区在线| 国产精品国产三级国产专播品爱网| 精品国产三级电影在线观看| 51精品视频一区二区三区| 色狠狠av一区二区三区| 色综合天天狠狠| 91视频精品在这里| 91丝袜呻吟高潮美腿白嫩在线观看| 成人免费观看视频| 成人av电影免费在线播放| 国产98色在线|日韩| 成人永久aaa| 成人国产精品免费网站| 成人av片在线观看| av网站免费线看精品| 99re视频这里只有精品| 色天天综合久久久久综合片| 日本韩国精品在线| 欧洲精品一区二区三区在线观看| 91福利国产精品| 欧美精品一卡两卡| 日韩写真欧美这视频| 精品福利一区二区三区| 欧美国产视频在线| 1024成人网| 五月婷婷激情综合| 美女视频黄久久| 盗摄精品av一区二区三区| 97成人超碰视| 在线播放国产精品二区一二区四区 | 欧美国产日本韩| 亚洲麻豆国产自偷在线| 亚洲一二三四区| 久久精品国产精品亚洲红杏| 国产在线视频不卡二| 91丨porny丨国产| 欧美一级在线观看| 中文在线一区二区| 亚洲第一久久影院| 精品一区二区日韩| 91女人视频在线观看| 91麻豆精品国产91久久久久| 欧美精品一区二区在线播放| 亚洲欧洲av在线| 欧美a级理论片| 91在线小视频| 欧美一区二区黄| 亚洲欧美一区二区三区极速播放 | 26uuu国产电影一区二区| 中文字幕日韩av资源站| 秋霞午夜鲁丝一区二区老狼| 国产999精品久久久久久绿帽| 欧美日韩国产一二三| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲精品中文字幕在线观看|