//附CMPPClient.cs: /* 作者:TNT 时间:2003年12月 文件说明:本文件实现SP端的协议开发。 */ using System; using System.Security.Cryptography; using System.Net.Sockets; using System.Net; using System.Text; using System.Threading; using System.Collections;
namespace CMPP.YOURCOMPANY { public delegate void ReportEventHandler(object sender, ReportEventArgs e); //声明一个事件的指代(指针) public delegate void SMSEventHandler(object sender, SMSEventArgs e); //声明一个事件的指代(指针) public delegate void TerminateEventHandler(object sender,TerminateEventArgs e); //声明收到终止信号 public delegate void TerminateRespEventHandler(object sender,TerminateRespEventArgs e); //回应事件发生 public delegate void TestEventHandler(object sender,TestEventArgs e); public delegate void TestRespEventHandler(object sender,TestRespEventArgs e); public delegate void ConnectRespEventHandler(object sender,ConnectRespEventArgs e); public delegate void CancelRespEventHandler(object sender,CancelRespEventArgs e); public delegate void SubmitRespEventHandler(object sender,SubmitRespEventArgs e); public delegate void QueryRespEventHandler(object sender,QueryRespEventArgs e); public delegate void LogonSUCcEventHandler(object sender,EventArgs e); //当成功登录系统 public delegate void SocketClosedEventHandler(object sender,EventArgs e); //当套接字被检测到关闭 public delegate void FailedItemDeletedEventHandler(object sender,WaitingQueueItemEventArgs e); //当一条等待队列的消息超过60秒没有回应
public delegate void CMPPClientSvcStopEventHandler(object sender, ClientQueueStateArgs e); //当CMPP服务停止时候触发事件
/// <summary> /// 作为CMPP协议的客户端,具有的登陆、发送、接受功能 /// 会开3 个线程处理: 1、处理需要发送 MO(下行)的消息 /// 2、处理从移动服务器发送过来CMPP的消息 /// 3、处理连接断等信息,检查需要重发的消息,检查收到的报告、短信,并调用 OnReport 事件 OnSMS事件 /// </summary> public class CMPPClient { public static long CMPP_ACTIVE_TEST_C_TICKs= 30 ; // *3 ; //长连接的active_test测试时间 public static long CMPP_ACTIVE_TEST_T_TICKs= 60 ; // 消息失败时间 60秒 public static int CMPP_ACTIVE_TEST_N_COUNT=3; //3次 //public static int CMPP_MSG_MAX=100; //一次取得的最大消息数量 public static int CMPP_Port=7890;
public event ReportEventHandler onReportHandler; //指向事件处理代码的指针 public event SMSEventHandler onSMSHandler; //短信到来处理