📄 form1.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 + -