/// <summary>
/// 发送GPRS Message
/// </summary>
/// <param name="MobileNumber">手机号码</param>
/// <param name="MobileMessage">发送的信息</param>
/// <returns>返回的结果:小于或等于“0”表示发送失败</returns>
public bool SendGSMMsg(string MobileNumbers,string MobileMessage)
{
//GSM MODEL API的发送接口
PDUdecoding pduDec = new PDUdecoding();
string strSendMsg = pduDec.smsDecodedsms(strServiceCenter, MobileNumbers, MobileMessage);
string a;
try
{
this.boolListen = false;
clsMsCom.Write("AT+CMGF=0\r\n");//PDU mode to send a Short Message
clsMsCom.ReadTo("OK\r\n");
clsMsCom.Write("AT+CMGS=" + (Convert.ToInt32(pduDec.nLength) + 5) + "\r\n");
clsMsCom.ReadTo(">");
// byte[] end = { 0x1a };//{ 0x1a x01a };
byte[] end = Encoding.ASCII.GetBytes(string.Format("{0}\x01A", strSendMsg));
clsMsCom.Write(end, 0, end.Length); // clsMsCom.Write(strSendMsg + System.Text.UnicodeEncoding.Unicode.GetString(end));
//clsMsCom.Write("\0x1a"); a = clsMsCom.ReadTo("OK");
clsMsCom.Write("AT+CMGF=1\r\n");//Text mode to Receive a Short Message
clsMsCom.ReadTo("OK\r\n");
return true;
}
catch (Exception)
{
return false;
}
finally
{
boolListen = true;
}
}
PDU:就是发不过去!
PDU的长度:29
PDU:0891683108705505F011000D91683115608449F50008000E5C31662F53D14E0D8FC753BB0021高手们帮忙啊~~~~
/// 发送GPRS Message
/// </summary>
/// <param name="MobileNumber">手机号码</param>
/// <param name="MobileMessage">发送的信息</param>
/// <returns>返回的结果:小于或等于“0”表示发送失败</returns>
public bool SendGSMMsg(string MobileNumbers,string MobileMessage)
{
//GSM MODEL API的发送接口
PDUdecoding pduDec = new PDUdecoding();
string strSendMsg = pduDec.smsDecodedsms(strServiceCenter, MobileNumbers, MobileMessage);
string a;
try
{
this.boolListen = false;
clsMsCom.Write("AT+CMGF=0\r\n");//PDU mode to send a Short Message
clsMsCom.ReadTo("OK\r\n");
clsMsCom.Write("AT+CMGS=" + (Convert.ToInt32(pduDec.nLength) + 5) + "\r\n");
clsMsCom.ReadTo(">");
// byte[] end = { 0x1a };//{ 0x1a x01a };
byte[] end = Encoding.ASCII.GetBytes(string.Format("{0}\x01A", strSendMsg));
clsMsCom.Write(end, 0, end.Length); // clsMsCom.Write(strSendMsg + System.Text.UnicodeEncoding.Unicode.GetString(end));
//clsMsCom.Write("\0x1a"); a = clsMsCom.ReadTo("OK");
clsMsCom.Write("AT+CMGF=1\r\n");//Text mode to Receive a Short Message
clsMsCom.ReadTo("OK\r\n");
return true;
}
catch (Exception)
{
return false;
}
finally
{
boolListen = true;
}
}
PDU:就是发不过去!
PDU的长度:29
PDU:0891683108705505F011000D91683115608449F50008000E5C31662F53D14E0D8FC753BB0021高手们帮忙啊~~~~
clsMsCom.Write("AT+CMGS=" + (Convert.ToInt32(pduDec.nLength) + 5) + "\r\n");错就错在这里,有没有人发现什么错误,发现错误的给分了!!!
应该是这样的吧.
clsMsCom.Write("AT+CMGS=" + (Convert.ToInt32(pduDec.nLength) + 15) + "\r\n");
不大记得了