91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 330KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: Java
  • 標簽: cmpp??

資源簡介

java cmpp2.0 3.0 無jar純源碼demo(含服務端測試工具)[20171205] 找了挺多資料,CMPP的資源很多,但可以參考可用的不多, 特此開源cmpp的DEMO程序,無jar插件,純源碼實現。 語言為:java 工具為:Intellij IDEA 2017 附帶第三方CMPP服務器測試工具,便于調試。 注解詳細如: private long Msg_Id=0x00;//信息標識,由SP接入的短信網關本身產生,本處填空。 private byte Pk_total=0x01;//相同Msg_Id的信息總條數,從1開始 private byte Pk_number=0x01;//相同Msg_Id的信息序號,從1開始 private byte Registered_Delivery=0x01;//是否要求返回狀態確認報告:0:不需要 1:需要 private byte Msg_level=0x01;//信息級別 private String Service_Id="";//業務類型,是數字、字母和符號的組合。 private byte Fee_UserType=0x00;//計費用戶類型字段 0:對目的終端MSISDN計費; 1:對源終端MSISDN計費;2:對SP計費 private String Fee_terminal_Id="";//被計費用戶的號碼 private byte TP_pId=0x00;//GSM協議類型 private byte TP_udhi=0x00;//GSM協議類型。詳細是解釋請參考 private byte Msg_Fmt=0x0f;//信息格式0:ASCII串 3:短信寫卡操作 4:二進制信息 8:UCS2編碼 (0f)15:含GB漢字 private String Msg_src="";//信息內容來源(SP_Id) private String FeeType="01";//資費類別 01:對“計費用戶號碼”免費 02:對“計費用戶號碼”按條計信息費 03:對“計費用戶號碼”按包月收取信息費 04:對“計費用戶號碼”的信息費封頂 05:對“計費用戶號碼”的收費是由SP實現 private String FeeCode="000000";//資費代碼(以分為單位) private String ValId_Time="";//存活有效期 private String At_Time="";//定時發送時間 private String Src_Id="";//源號碼 SP的服務代碼或前綴為服務代碼的長號碼, 網關將該號碼完整的填到SMPP協議Submit_SM消息相應的source_addr字段,該號碼最終在用戶手機上顯示為短消息的主叫號碼 private byte DestUsr_tl=0x01;//接收信息的用戶數量(小于100個用戶) private String Dest_terminal_Id="";//接收短信的MSISDN號碼 private byte Msg_Length;//信息長度(Msg_Fmt值為0時:<160個字節;其它<=140個字節) private byte[] Msg_Content;//信息內容 private String Reserve="";//保留

資源截圖

代碼片段和文件信息

import?cmpp.*;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.io.UnsupportedEncodingException;
import?java.net.Socket;
import?java.net.UnknownHostException;
import?java.util.ArrayList;
import?java.util.List;

/**
?*?Created?by?qq:599097707?輕舟?on?2017/12/5/005.
?*/
public?class?testMain?{
????public?static?Socket?socket;
????public?static?String?IP=“192.168.1.169“;//服務器IP
????public?static?int?port=9966;//端口號
????public?static?String?spid=“2123“;//企業代碼?和?spid?一樣
????public?static?String?secret=“abc@aaa“;//
????public?static?DataInputStream?in;
????public?static?DataOutputStream?out;


????/***
?????*?創建指定地址socket連接
?????*?@return
?????*/
????public?static?Socket?getSocketInstance(){
????????try?{
????????????socket=new?Socket(IPport);
????????????socket.setKeepAlive(true);
????????????socket.setSoTimeout(10000);
????????}?catch?(UnknownHostException?e)?{
????????????//?TODO?Auto-generated?catch?block
????????????e.printStackTrace();
????????}?catch?(IOException?e)?{
????????????//?TODO?Auto-generated?catch?block
????????????e.printStackTrace();
????????}
????????return?socket;
????}

????/***
?????*?connect初始化連接服務器
?????*?@throws?IOException
?????*/
????public?static?void?connectISMG()?throws?IOException{
????????System.out.println(“正在連接到服務器“+IP);
????????CMPP_CONNECT?connect=new?CMPP_CONNECT();

????????connect.setTotalLength(12+6+16+1+4);
????????connect.setCommandId(0x00000001);//請求連接
????????connect.setSequenceId(MsgUtils.getSequence());
????????connect.setSourceAddr(spid);//源地址,此處為SP_Id,即SP的企業代碼。

????????String?timestamp=MsgUtils.getTimestamp();
????????connect.setAuthenticatorSource(MsgUtils.getAuthenticatorSource(spid?secret?timestamp));//用于鑒別源地址。其值通過單向MD5?hash計算得出
????????connect.setTimestamp(Integer.parseInt(timestamp));//時間戳的明文由客戶端產生格式為MMDDHHMMSS,即月日時分秒,10位數字的整型,右對齊?。
????????//connect.setVersion((byte)0x20);//雙方協商的版本號(高位4bit表示主版本號低位4bit表示次版本號)
????????connect.setVersion((byte)0x14);//雙方協商的版本號(高位4bit表示主版本號低位4bit表示次版本號)
????????List?dataList=new?ArrayList();
????????dataList.add(connect.toByteArray());
????????out=new?DataOutputStream(getSocketInstance().getOutputStream());
????????if(out!=null&&null!=dataList){
????????????for(byte[]data:dataList){
????????????????out.write(data);
????????????????out.flush();
????????????????System.out.println(“connect數據發送完成“);
????????????}
????????}
????????in=new?DataInputStream(socket.getInputStream());
????????int?len=in.readInt();
????????List?getData=new?ArrayList();
????????if(null!=in&&0!=len){
????????????byte[]?data=new?byte[len-4];
????????????in.read(data);
????????????getData.add(data);
????????????for(byte[]?returnData:getData){
????????????????Message_Header?header=new?Message_Header(returnData);
????????????????switch(header.getCommandId()){
????????????????????case?0x80000001:
????????????????????????CMPP_CONNE

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????327680??2004-05-31?10:24??cmpp2smg\cmpp2smg.exe

?????文件?????176128??2004-05-31?10:23??cmpp2smg\CMPPAPI.dll

?????文件???????1078??2004-05-29?16:24??cmpp2smg\intro.txt

?????文件???????6317??2017-12-05?18:39??cmpp2smg\log\20171205.log

?????文件????????169??2017-12-05?18:06??cmpp2smg\setting.ini

?????目錄??????????0??2017-12-05?17:29??cmpp2smg\log

?????目錄??????????0??2017-12-05?17:29??cmpp2smg

-----------?---------??----------?-----??----

???????????????511372????????????????????7


評論

共有 條評論