日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

中国移动短信网关CMPP3.0 C#源代码:使用示例

發布時間:2025/7/14 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中国移动短信网关CMPP3.0 C#源代码:使用示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
中國移動短信網關CMPP3.0 C#源代碼使用,在上一篇文章中我介紹過cmpp3.0,這段時間因為也做關于
移動短信網關的開發,在這里給大家一個演示如何使用cmpp3.0開發移動短信網關。
Using Tiray.SMS
...

Tiray.SMS.CMPP30 m_CMPP=new Tiray.SMS.CMPP30();
...

//啟動CMPP
m_CMPP=new CMPP30(txt_CMUserName.Text.Trim(),txt_CMPassword.Text.Trim(),txt_CMServerAddress.Text.Trim(),Convert.ToInt32(txt_CMServerPort.Text.Trim()));
m_CMPP.SMSStateChanged+=new SMSEventHandler(OnCMPP);//定義事件處理函數
m_CMPP.StartThread();
...

//終止CMPP
m_CMPP.EndThread();
...

//移動短信網關事件(異步處理)
protected void OnCMPP(Object sender,SMSEventArgs e)??
{
?SMSAsyncEvent ae = new SMSAsyncEvent(ProcessCMPPEvent);
?IAsyncResult ar=null;
?ar = ae.BeginInvoke(e,new AsyncCallback(CMPPAsyncEventCallBack),ae);
}

//異步事件處理函數
protected void ProcessCMPPEvent(SMSEventArgs e)
{
?string strState=string.Empty;
?if(e.State==SMS_STATE.DELIVER)
?{
??CMPP_DELIVER deliver=(CMPP_DELIVER)e.Data;
??...
?}
???
?else if(e.State==SMS_STATE.DELIVER_RESPONSE)
?{
??CMPP_DELIVER_RESP resp=(CMPP_DELIVER_RESP)e.Data;
??...??
?}
?else if(e.State==SMS_STATE.REPORT)
?{
??CMPP_DELIVER deliver=(CMPP_DELIVER)e.Data;
??CMPP_REPORT report=deliver.GetReport();
??...
?}
?else if(e.State==SMS_STATE.SUBMIT)
?{
??CMPP_SUBMIT submit=(CMPP_SUBMIT)e.Data;
??...?
?}
?else if(e.State==SMS_STATE.SUBMIT_RESPONSE)
?{
??CMPP_SUBMIT_RESP resp=(CMPP_SUBMIT_RESP)e.Data;
??...
?}
?else if(e.State==SMS_STATE.ACTIVE_TEST)
?{
??...???
?}
?else if(e.State==SMS_STATE.ACTIVE_TEST_RESPONSE)
?{
??CMPP_ACTIVE_TEST_RESP resp=(CMPP_ACTIVE_TEST_RESP)e.Data;
??...???
?}
?else if(e.State==SMS_STATE.SP_CONNECT)
?{
??CMPP_CONNECT_RESP resp=(CMPP_CONNECT_RESP)e.Data;
??...
?}
?else if(e.State==SMS_STATE.SP_DISCONNECT)
?{
??...???
?}
?else if(e.State==SMS_STATE.DELIVER_ERROR)
?{
??...??
?}
?else if(e.State==SMS_STATE.DELIVER_RESPONSE_ERROR)
?{
??...???
?}
?else if(e.State==SMS_STATE.SUBMIT_ERROR)
?{
??...???
?}
?else if(e.State==SMS_STATE.SUBMIT_RESPONSE_ERROR)
?{
??...???
?}
?else if(e.State==SMS_STATE.ACTIVE_TEST_ERROR)
?{
??...???
?}
?else if(e.State==SMS_STATE.ACTIVE_TEST_RESPONSE_ERROR)
?{
??...???
?}
?else if(e.State==SMS_STATE.SP_CONNECT_ERROR)
?{
??...???
?}
?else if(e.State==SMS_STATE.SP_DISCONNECT_ERROR)
?{
??...???
?}
??
}

//異步事件回調函數
private void CMPPAsyncEventCallBack(IAsyncResult ar)
{
?SMSAsyncEvent ae = (SMSAsyncEvent)ar.AsyncState;
?ae.EndInvoke(ar);
}

//異步短消息發送
CMPPAsyncSubmit s = new CMPPAsyncSubmit(m_CMPP.Submit);
IAsyncResult ar=null;
string[] Destinations=new string[DestinationCount];
for(int i=0;i<DestinationCount;i++)
strDest[i]=Destination[i].ToString();
ar = s.BeginInvoke(Message,Destinations,Source,ServiceID,CODING.GBK,true,(byte)Tiray.SMS.FEE_USER_TYPE.DESTINATION,(byte)Tiray.SMS.FEE_TYPE.ONE,Fee,Source,LinkID,new AsyncCallback(CMPPAsyncSubmitCallBack),s);
...

//異步發送回調函數
private void CMPPAsyncSubmitCallBack(IAsyncResult ar)
{
?CMPPAsyncSubmit s = (CMPPAsyncSubmit) ar.AsyncState;
?s.EndInvoke(ar);
}
摘自:
http://blog.csdn.net/bulbul2006/archive/2006/06/07/777480.aspx

轉載于:https://www.cnblogs.com/9who/archive/2008/05/13/1195524.html

總結

以上是生活随笔為你收集整理的中国移动短信网关CMPP3.0 C#源代码:使用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。