⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 这个是基于SMPP的开发源码
💻 CS
字号:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ISMG;
using SMGP3_0;

namespace TestSMGP
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void button1_Click(object sender, EventArgs e)
		{
			if (smgp.Connect("58.53.196.66", 8890))//湖北省电信短信网关地址
				button2.Enabled = true;
		}

		private void button2_Click(object sender, EventArgs e)
		{
			if (smgp.Login("1189318", "123", SMGP3_0.EConnectorType.Transceiver))
			{
				button3.Enabled = true;
			}
			else
			{
				MessageBox.Show("Login Failed!");
			}
		}

		private void button3_Click(object sender, EventArgs e)
		{//SendMessage
			smgp.SendMessage(Guid.NewGuid(), 0, 0, 3, tbFeeCode.Text, "00", "0", "0", 15, "", "", "1189318", "", 1, tbMobile.Text, tbMsg.Text, new byte[0]);
		}

		private void Form1_Load(object sender, EventArgs e)
		{
			cLog1.Start();
			OnDeliver = new DeliverEventHandler(Deliver);
			OnDisconnect = new DisconnectEventHandler(Disconnect);
		}

		private void smgp_OnSend(SMGP3_0.SMGPConnection Sender, Guid ID, byte[] MsgID, int Status)
		{
			MessageBox.Show("发送状态:" + Status.ToString());
			if (MsgID != null)
				MessageBox.Show(System.BitConverter.ToString(MsgID));
		}

		delegate void DeliverEventHandler(byte[] MsgID, byte IsReport, byte MsgFormat, string RecvTime, string SrcTermID, string DestTermID, byte[] MsgContent, byte[] Reserve, SMPP.Variable.TLV[] TLVFields);
		DeliverEventHandler OnDeliver;

		public void Deliver(byte[] MsgID, byte IsReport, byte MsgFormat, string RecvTime, string SrcTermID, string DestTermID, byte[] MsgContent, byte[] Reserve, SMPP.Variable.TLV[] TLVFields)
		{
			tbMsgID.Text = System.BitConverter.ToString(MsgID);

			cLog1.Append("消息ID:{0}", System.BitConverter.ToString(MsgID));
			cLog1.Append("状态报告:{0}", IsReport);
			cLog1.Append("短消息格式:{0}", MsgFormat);
			cLog1.Append("接收时间:{0}", RecvTime);
			cLog1.Append("短消息发送号码:{0}", SrcTermID);
			cLog1.Append("短消息接收号码:{0}", DestTermID);
			cLog1.Append("短消息内容:{0}", System.BitConverter.ToString(MsgContent));
			SMPP.Variable.Encoding encoder = new SMPP.Variable.Encoding();
			encoder.Value = MsgFormat;

			cLog1.Append("短消息内容(字符串):{0}", encoder.Encoder.GetString(MsgContent));

			cLog1.Append("备用:{0}", System.BitConverter.ToString(Reserve));

			foreach (SMPP.Variable.TLV tlv in TLVFields)
			{
				if (((SMGP3_0.SMGPTLV)tlv.Tag) == SMGPTLV.LinkID)
					tbLinkID.Text = (tlv as SMPP.Variable.TLVString).Value;
				cLog1.Append(((SMGP3_0.SMGPTLV)tlv.Tag).ToString() + ":" + System.BitConverter.ToString(tlv.GetValueBytes()));
			}
		}

		private void smgp_OnDeliver(SMGP3_0.SMGPConnection Sender, byte[] MsgID, byte IsReport, byte MsgFormat, string RecvTime, string SrcTermID, string DestTermID, byte[] MsgContent, byte[] Reserve, SMPP.Variable.TLV[] TLVFields)
		{
			
			this.Invoke(OnDeliver, MsgID, IsReport, MsgFormat, RecvTime, SrcTermID, DestTermID, MsgContent, Reserve, TLVFields);
		}

		private void button4_Click(object sender, EventArgs e)
		{//MsgID Resp
			smgp.SendMessage(new Guid(), 6, 0, 3, "v", "01", "20", "0", 15, "", "", "118xxxx", "0716xxxxxxx", 1, "07168939471", "点播MSGID回复" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "Over.", ISMG.PublicFunction.HexToBytes(tbMsgID.Text));
		}

		delegate void DisconnectEventHandler();
		DisconnectEventHandler OnDisconnect;

		private void Disconnect()
		{
			button2.Enabled = false;
			button3.Enabled = false;
		}

		private void smgp_OnDisconnect(SMGP3_0.SMGPConnection Sender)
		{
			this.Invoke(OnDisconnect);
		}

		private void button6_Click(object sender, EventArgs e)
		{//Resp
			smgp.SendMessage(new Guid(), 6, 1, 3, "v", "01", "20", "0", 15, "", "", "118xxxx", "0716xxxxxxx", 1, "07168939471", "点播回复" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "Over.", new byte[0]);
		}

		private void button7_Click(object sender, EventArgs e)
		{//Free Resp
			smgp.SendMessage(Guid.NewGuid(), 6, 0, 0, "v", "01", "0", "0", 15, "", "", "118xxxx", "", 1, "0716xxxxxxx", "点播免费回复" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "Over.", new byte[0]);
		}

		private void button8_Click(object sender, EventArgs e)
		{
			/* 创建多个连接到网关
			SMGP3_0.SMGP3_0[] smgpclient = new SMGP3_0.SMGP3_0[20];

			for (int i = 0; i < smgpclient.Length; i++)
			{
				smgpclient[i] = new SMGP3_0.SMGP3_0(this.components);

				smgpclient[i].Connect("58.53.196.66", 8890);

				if (smgpclient[i].Login("118xxxx", "xxxx", EConnectorType.Transceiver))
				{
					
				}
				else
				{
					MessageBox.Show("Connection[" + i.ToString() + "] Login Failed.");
				}
			}
			*/

			smgp.Logout();
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -