using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Runtime.InteropServices; namespace CSDemo { /// /// WebForm3 的摘要说明。 /// public partial class csharpDemo : System.Web.UI.Page { protected System.Web.UI.WebControls.Button Button1; [DllImport("MWGateway.dll")]//帐户登陆 private static extern int MongateConnect(string ip ,int port,string account ,string pwd ); [DllImport("MWGateway.dll")]//发送单向信息 private static extern int MongateSendSms(int clientsock,string mobi,string note); [DllImport("MWGateway.dll")]//测试连接 private static extern int MongateTestConn(int clientsock); [DllImport("MWGateway.dll")]//查询余额 private static extern int MongateQueryBalance(int clientsocket); [DllImport("MWGateway.dll")]//查询使用 private static extern int MongateQueryUsed(int clientsocket); [DllImport("MWGateway.dll")]//帐户充值 private static extern int MongateRecharge(int clientsocket,string cardno,string cardpwd); [DllImport("MWGateway.dll")]//密码修改 private static extern int MongateChangePwd(int clientsocket,string account,string oldpwd, string newpwd); [DllImport("MWGateway.dll")]//断开连接 private static extern int MongateDisconnect(int clientsock); [DllImport("MWGateway.dll")]//接收增值信息 private static extern int MongateVasGetSms(int clientsock, ref byte recvbuf ); [DllImport("MWGateway.dll")]//发送增值双向信息 private static extern int MongateVasSendSms(int clientsock,string feecode,string spno, string opercode,string linkid,string mobis,string msg,int icount); [DllImport("MWGateway.dll")]//接收客服信息 private static extern int MongateCsGetSms(int clientsock, ref byte recvbuf ); [DllImport("MWGateway.dll")]//发送客服双向信息 private static extern int MongateCsSendSms(int clientsock,string mobi,string note,int icount, StringBuilder msgno); [DllImport("MWGateway.dll")]//读取状态报告 private static extern int MongateCsGetStatusReport(int clientsock, ref byte recvbuf ); #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { } #endregion protected void BtnSend_Click(object sender, System.EventArgs e) { //发送信息 if (Noconn()) return; int myrec,clientsock=Convert.ToInt16(Session["clientsock"]); if(CkVas.Checked ){ myrec=MongateVasSendSms(clientsock,TxtFee.Text.Trim(),TxtSport.Text.Trim(),"00********", TxtLinkid.Text.Trim(),TxtPhone.Text.Trim(),TxtMsg.Text.Trim(),1); if(myrec==1) TxtInfo.Text="发送增值信息成功\r\n"+TxtInfo.Text; else TxtInfo.Text="发送增值信息失败\r\n"+TxtInfo.Text; }else if(CkKf.Checked ){ StringBuilder strBld=new StringBuilder(40); myrec=MongateCsSendSms(clientsock,TxtPhone.Text.Trim(),TxtMsg.Text.Trim(),1,strBld); if(myrec==1) TxtInfo.Text="发送增值信息成功\r\n"+TxtInfo.Text; else TxtInfo.Text="发送增值信息失败\r\n"+TxtInfo.Text; TxtInfo.Text="信息编号:"+Convert.ToString(strBld)+"\r\n"+TxtInfo.Text; }else{ myrec=MongateSendSms(clientsock,TxtPhone.Text.Trim(),TxtMsg.Text.Trim()); if(myrec==1) TxtInfo.Text="发送单向信息成功\r\n"+TxtInfo.Text; else TxtInfo.Text="发送单向信息失败\r\n"+TxtInfo.Text; } } private void BtnState_Click(object sender, System.EventArgs e) { //读取状态报告 if (Noconn()) return; int clientsock=Convert.ToInt16(Session["clientsock"]); byte[,] recv=new byte[500,255] ; byte[] buf=new byte[255]; string Str; int num,i,k; if (clientsock > 0) { num = MongateCsGetStatusReport(clientsock, ref recv[0, 0]); if (num > 0) { for( i = 0;i 0) { for( i = 0;i 0){ TxtInfo.Text ="登陆成功 句柄:"+Convert.ToString(clientsock)+"\r\n"+TxtInfo.Text; BtnDisConn.Enabled=true; BtnLogin.Enabled=false; } else TxtInfo.Text="登陆失败 返回:"+Convert.ToString(clientsock)+"\r\n"+TxtInfo.Text; } private void BtnFee_Click(object sender, System.EventArgs e) { //查费 if (Noconn()) return; int clientsock=Convert.ToInt16(Session["clientsock"]); int myfee=-10; if (clientsock>0) { myfee=MongateQueryBalance(clientsock); if (myfee>0) TxtInfo.Text="查询短信余额成功:"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text; else TxtInfo.Text="查询短信余额失败:返回"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text; } else TxtInfo.Text="网络连接已经断开,请重新登陆\r\n"+TxtInfo.Text; } protected void Page_Load(object sender, System.EventArgs e) { CkClick(0); } protected void BtnUsed_Click(object sender, System.EventArgs e) { //查询使用 if (Noconn()) return; int clientsock=Convert.ToInt16(Session["clientsock"]); int myfee=-10; if (clientsock>0) { myfee=MongateQueryUsed(clientsock); if (myfee>0) TxtInfo.Text="查询使用成功:"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text; else TxtInfo.Text="查询使用失败:返回"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text; } else TxtInfo.Text="网络连接已经断开,请重新登陆\r\n"+TxtInfo.Text; } private bool Noconn(){ int clientsock=Convert.ToInt16(Session["clientsock"]); if (clientsock <= 0){ TxtInfo.Text ="没有连接到任何服务器!!!\r\n"+TxtInfo.Text ; return true; } else return false; } protected void BtnDisConn_Click(object sender, System.EventArgs e) { int clientsock=Convert.ToInt16(Session["clientsock"]); MongateDisconnect(clientsock); BtnDisConn.Enabled=false; BtnLogin.Enabled=true; Session["clientsock"]=0; TxtInfo.Text ="断开连接,句柄:"+Convert.ToString(clientsock)+"\r\n"+TxtInfo.Text ; } protected void BtnTest_Click(object sender, System.EventArgs e) { if (Noconn()) return; int retu_state; int clientsock=Convert.ToInt16(Session["clientsock"]); if (clientsock > 0){ retu_state = MongateTestConn(clientsock); if (retu_state ==1) TxtInfo.Text ="测试连接成功\r\n"+TxtInfo.Text; else{ TxtInfo.Text ="测试连接成功\r\n"+TxtInfo.Text ; clientsock = 0; BtnLogin.Enabled = true; BtnDisConn.Enabled = false; } } } protected void CkKf_CheckedChanged(object sender, System.EventArgs e) { CkClick(2); } private void CkClick(int seltype){ if (seltype== 0){ if (CkSingle.Checked){ CkVas.Checked = false; CkKf.Checked = false; } } else if (seltype ==1){ if (CkVas.Checked){ CkSingle.Checked = false; CkKf.Checked = false; } } else{ if (CkKf.Checked){ CkVas.Checked = false; CkSingle.Checked = false; } } Showme(TxtSport,CkVas.Checked); Showme(TxtFee,CkVas.Checked); Showme(TxtLinkid,CkVas.Checked); Showme(TxtCount,CkVas.Checked); BtnRecv.Enabled=(CkVas.Checked)||(CkKf.Checked); BtnState.Enabled=CkKf.Checked; if(CkVas.Checked ) BtnSend.Text="增值信息"; else if (CkKf.Checked ) BtnSend.Text="客服信息"; else BtnSend.Text="单向信息"; } private void Showme( TextBox edtmp,bool flag){ edtmp.Enabled=flag; if (flag) edtmp.BackColor =SystemColors.Window; else edtmp.BackColor =SystemColors.ScrollBar; } protected void CkSingle_CheckedChanged(object sender, System.EventArgs e) { CkClick(0); } protected void CkVas_CheckedChanged(object sender, System.EventArgs e) { CkClick(1); } protected void BtnLeft_Click(object sender, System.EventArgs e) { //查询余额 if(Noconn()) return; int clientsock=Convert.ToInt16(Session["clientsock"]); int myfee; myfee=MongateQueryBalance(clientsock); if(myfee>=0) TxtInfo.Text ="查询余额成功,"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text ; else TxtInfo.Text ="查询余额失败,"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text ; } protected void BtnChangePwd_Click(object sender, System.EventArgs e) { //修改密码 if(Noconn()) return; int clientsock=Convert.ToInt16(Session["clientsock"]); int myfee; myfee=MongateChangePwd(clientsock,TxtAccount.Text.Trim(),TxtPwd.Text.Trim(), TxtNewPwd.Text.Trim()); if(myfee==1) TxtInfo.Text ="修改密码成功,"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text ; else TxtInfo.Text ="修改密码失败,"+Convert.ToString(myfee)+"\r\n"+TxtInfo.Text ; } } }