程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 基於CMPP3.0協議SP端的實現(C#)(1)

基於CMPP3.0協議SP端的實現(C#)(1)

編輯:關於C語言

最近一段是時間項目可能需要提供短信功能,客戶作為一個 SP 端提供短信 業務;網上搜索了一番,找到了比較不錯的 CMPP30 類的代碼,該代碼基本實現 了 CMPP3.0 協議中的短信收發、網絡重連等功能。本人將其重新改造,提供了 同步發送、異步發送的支持(原先版本的異步發送並非標准的 .Net 異步發送模 式,這部分代碼是一個異步操作實現的“范本”,可供大家參考),增加了對 PROVISION 接口的支持。

本人已將這些代碼打包為一個 RAR 文件,稍後會上傳到 Internet 供大家交 流、學習;下面將對這版 CMPP30 類的 API 進行簡要介紹:

1)用於收發短信 CMPP30 類的 API:

1/**//// <summary>
2/// CMPP30 短信網關通訊組件(供 SP 使用)。
3/// </summary>
4public class CMPP30
5 {
6
7    屬性#region 屬性
8    /**//// <summary>
9    /// SMS 事件。
10    /// </summary>
11    public event EventHandler<SMSEventArgs> SMS;
12    #endregion
13
14    構造函數#region 構造函數
15    /**//// <summary>
16    /// 初始化 <see cref="CMPP30"/> 類新實例。
17    /// </summary>
18     public CMPP30(string spid, string passWord, string address, int port);
19    #endregion
20
21    公有方法#region 公有方 法
22    /**//// <summary>
23    /// 啟動 CMPP30 服 務。
24    /// </summary>
25    public void Start ();
26    /**//// <summary>
27    /// 發送短信。
28    /// </summary>
29    /// /// <param name="text">
30    /// 信息內容。
31    /// </param>
32    /// <param name="encoding">
33     /// 信息編碼。
34    /// </param>
35    /// <param name="sourceID">
36    /// SP的服務代碼,將顯示在最 終用戶手機上的短信主叫號碼。
37    /// </param>
38     /// <param name="destinations">
39    /// 接收短信的電 話號碼列表。
40    /// </param>
41    /// <param name="serviceID">
42    /// 業務標識(如:woodpack)。
43     /// </param>
44    /// <param name="needReport">
45    /// 是否要求返回狀態報告。
46     /// </param>
47    /// <param name="feeType">
48    /// 資費類別。
49    /// </param>
50    /// <param name="feeUserType">
51     /// 計費用戶。
52    /// </param>
53    /// <param name="feeUser">
54    /// 被計費的號碼(feeUserType 值為 FeeUser 時有效)。
55    /// </param>
56    /// <param name="realUser">
57    /// 被計費號碼的真實身份(“ 真實號碼”或“偽碼”)。
58    /// </param>
59    /// <param name="informationFee">
60    /// 信息費(以“分 ”為單位,如:10 分代表 1角)。
61    /// </param>
62     /// <param name="linkID">
63    /// 點播業務的 LinkID 。
64    /// </param>
65    public CMPP_SUBMIT_RESP Send(
66        string text,
67        CEncoding encoding,
68        string sourceID,
69        string[] destinations,
70        string serviceID,
71         bool needReport,
72        FeeType feeType,
73         FeeUserType feeUserType,
74        string feeUser,
75        bool realUser,
76        int informationFee,
77        string linkID);
78    /**//// <summary>
79    /// 發送短信。
80    /// </summary>
81    public CMPP_SUBMIT_RESP Send(CMPP_SUBMIT submit);
82    /**//// <summary>
83    /// 開始異步 發送短信。
84    /// </summary>
85    /// <param name="text">
86    /// 信息內容。
87    /// </param>
88    /// <param name="encoding">
89     /// 信息編碼。
90    /// </param>
91    /// <param name="sourceID">
92    /// SP的服務代碼,將顯示在最 終用戶手機上的短信主叫號碼。
93    /// </param>
94     /// <param name="destinations">
95    /// 接收短信的電 話號碼列表。
96    /// </param>
97    /// <param name="serviceID">
98    /// 業務標識(如:woodpack)。
99     /// </param>
100    /// <param name="needReport">
101    /// 是否要求返回狀態報告。
102     /// </param>
103    /// <param name="feeType">
104    /// 資費類別。
105    /// </param>
106    /// <param name="feeUserType">
107    /// 計費用戶。
108    /// </param>
109    /// <param name="feeUser">
110     /// 被計費的號碼(feeUserType 值為 FeeUser 時有效)。
111     /// </param>
112    /// <param name="realUser">
113    /// 被計費號碼的真實身份(“真實號碼 ”或“偽碼”)。
114    /// </param>
115    /// <param name="informationFee">
116    /// 信息費(以“分” 為單位,如:10 分代表 1角)。
117    /// </param>
118     /// <param name="linkID">
119    /// 點播業務的 LinkID。
120    /// </param>
121    /// <param name="callback">
122    /// 異步回調函數。
123    /// </param>
124    /// <param name="asyncState">
125     /// 傳遞給異步回調函數的參數。
126    /// </param>
127    public IAsyncResult BeginSend(
128         string text,
129        CEncoding encoding,
130        string sourceID,
131        string[] destinations,
132        string serviceID,
133         bool needReport,
134        FeeType feeType,
135        FeeUserType feeUserType,
136         string feeUser,
137        bool realUser,
138         int informationFee,
139        string linkID,
140        AsyncCallback callback,
141         object asyncState);
142    /**//// <summary>
143     /// 開始異步發送短信。
144    /// </summary>
145     public IAsyncResult BeginSend(
146        CMPP_SUBMIT submit,
147        AsyncCallback cb,
148        object asyncState);
149    /**//// <summary>
150    /// 結束異步發送短信。
151    /// </summary>
152    public CMPP_SUBMIT_RESP EndSend(IAsyncResult ar);
153    /**//// <summary>
154    /// 停止 CMPP30 服務。
155    /// </summary>
156    public void Stop();
157    #endregion
158
159}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved