WEB开发网
开发学院软件开发C语言 基于 CMPP3.0 协议 SP 端的实现(C#) 阅读

基于 CMPP3.0 协议 SP 端的实现(C#)

 2009-03-25 08:20:38 来源:WEB开发网   
核心提示: 最近一段是时间项目可能需要提供短信功能,客户作为一个 SP 端提供短信业务;网上搜索了一番,基于 CMPP3.0 协议 SP 端的实现(C#),找到了比较不错的 CMPP30 类的代码,该代码基本实现了 CMPP3.0 协议中的短信收发、网络重连等功能,126 /// </param>127 pu

最近一段是时间项目可能需要提供短信功能,客户作为一个 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  下一页

Tags:基于 CMPP 协议

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接