public String sendSms(SmsMessage sms) { StringBuilder msg = new StringBuilder(); if (loginFlag == false) { login(); } if (loginFlag) { String smsType = sms.SmsType; if (smsType == null) { smsType = PackType.DATA_BACK; } byte[] tagByte = Encoding.Default.GetBytes(COMPART_TAG); byte[] packHeadByte = Encoding.Default.GetBytes(smsType); byte[] sequenceIdByte = Encoding.Default.GetBytes(sms.SequenceId); byte[] targetNumberByte = Encoding.Default.GetBytes(sms.TargetNumber); byte[] sendNumberByte = Encoding.Default.GetBytes(sms.SendNumber); byte[] contentByte = null; try { contentByte = Encoding.Default.GetBytes(sms.Content); } catch (Exception e) { msg.AppendFormat(e.ToString()); log(msg); } byte[] createTimeByte = Encoding.Default.GetBytes(sms.CreateTime); int length = packHeadByte.Length; length += sequenceIdByte.Length; length += targetNumberByte.Length; length += sendNumberByte.Length; length += contentByte.Length; length += createTimeByte.Length; length += 6; int size = length + Encoding.Default.GetBytes(Convert.ToString(length)).Length; length = length + Encoding.Default.GetBytes(Convert.ToString(size)).Length; try { List<byte> bb = new List<byte>(); bb.AddRange(Encoding.Default.GetBytes(Convert.ToString(length))); bb.AddRange(tagByte); bb.AddRange(packHeadByte); bb.AddRange(tagByte); bb.AddRange(sequenceIdByte); bb.AddRange(tagByte); bb.AddRange(targetNumberByte); bb.AddRange(tagByte); bb.AddRange(sendNumberByte); bb.AddRange(tagByte); bb.AddRange(contentByte); bb.AddRange(tagByte); bb.AddRange(createTimeByte); socket.Send(bb.ToArray()); } catch (Exception e) { msg.AppendFormat(e.ToString()); log(msg); } byte[] readData = new byte[100]; try { socket.Receive(readData); } catch (Exception e) { msg.AppendFormat(e.ToString()); log(msg); } String receiveStr = Encoding.Default.GetString(readData); String[] datas = receiveStr.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries); if (datas.Length < 2) { return null; } String pageType = datas[1]; String receiveCode = datas[3]; if (PackType.RECEIVE_BACK.Equals(pageType)) { sms.ReceiveCode = receiveCode; if (datas[3].StartsWith(ReceiveCode.RECEIVE_SUCCESS)) { sms.ReceiveId = datas[4]; } else { string _receiveInfo = ""; ReceiveInfo.map.TryGetValue(receiveCode, out _receiveInfo); sms.ReceiveInfo = _receiveInfo; } } return receiveStr; } else { // ���ȵ�¼ msg.AppendFormat("���ȵ�¼"); log(msg); } return null; }
public void sendSingleSms(String sourcePhone, String targetPhone, String message) { getSocket(); setUserId(_userId); setPassWord(_passWord); login(); SmsMessage sms = new SmsMessage(); sms.SequenceId = "1214"; sms.Content = message; sms.TargetNumber = targetPhone; sms.SendNumber = sourcePhone; sms.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); sms.SmsType = PackType.DATA_BACK; sendSingleSms(sms); }
public void sendSingleSms(SmsMessage sms) { StringBuilder msg = new StringBuilder(); if (loginFlag) { String receiveStr = sendSms(sms); if (!String.IsNullOrEmpty(receiveStr) && !String.IsNullOrEmpty(sms.ReceiveId)) { // send ok msg.AppendFormat("msg send ok!\r\n"); msg.AppendFormat("receivecode:"+sms.ReceiveCode+"\r\n"); msg.AppendFormat("targetnumber:"+sms.TargetNumber+"\r\n"); msg.AppendFormat("time:"+sms.CreateTime+"\r\n"); msg.AppendFormat("content:"+sms.Content); log(msg); } else { //���ڷ���ʧ�ܶ�״̬���쳣���� dealError(sms.ReceiveCode); } } destroy(); }
public String sendSms(SmsMessage sms) { StringBuilder msg = new StringBuilder(); if (loginFlag == false) { login(); } if (loginFlag) { String smsType = sms.SmsType; if (smsType == null) { smsType = PackType.DATA_BACK; } byte[] tagByte = Encoding.Default.GetBytes(COMPART_TAG); byte[] packHeadByte = Encoding.Default.GetBytes(smsType); byte[] sequenceIdByte = Encoding.Default.GetBytes(sms.SequenceId); byte[] targetNumberByte = Encoding.Default.GetBytes(sms.TargetNumber); byte[] sendNumberByte = Encoding.Default.GetBytes(sms.SendNumber); byte[] contentByte = null; try { contentByte = Encoding.Default.GetBytes(sms.Content); } catch (Exception e) { msg.AppendFormat(e.ToString()); log(msg); } byte[] createTimeByte = Encoding.Default.GetBytes(sms.CreateTime); int length = packHeadByte.Length; length += sequenceIdByte.Length; length += targetNumberByte.Length; length += sendNumberByte.Length; length += contentByte.Length; length += createTimeByte.Length; length += 6; int size = length + Encoding.Default.GetBytes(Convert.ToString(length)).Length; length = length + Encoding.Default.GetBytes(Convert.ToString(size)).Length; try { List <byte> bb = new List <byte>(); bb.AddRange(Encoding.Default.GetBytes(Convert.ToString(length))); bb.AddRange(tagByte); bb.AddRange(packHeadByte); bb.AddRange(tagByte); bb.AddRange(sequenceIdByte); bb.AddRange(tagByte); bb.AddRange(targetNumberByte); bb.AddRange(tagByte); bb.AddRange(sendNumberByte); bb.AddRange(tagByte); bb.AddRange(contentByte); bb.AddRange(tagByte); bb.AddRange(createTimeByte); socket.Send(bb.ToArray()); } catch (Exception e) { msg.AppendFormat(e.ToString()); log(msg); } byte[] readData = new byte[100]; try { socket.Receive(readData); } catch (Exception e) { msg.AppendFormat(e.ToString()); log(msg); } String receiveStr = Encoding.Default.GetString(readData); String[] datas = receiveStr.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries); if (datas.Length < 2) { return(null); } String pageType = datas[1]; String receiveCode = datas[3]; if (PackType.RECEIVE_BACK.Equals(pageType)) { sms.ReceiveCode = receiveCode; if (datas[3].StartsWith(ReceiveCode.RECEIVE_SUCCESS)) { sms.ReceiveId = datas[4]; } else { string _receiveInfo = ""; ReceiveInfo.map.TryGetValue(receiveCode, out _receiveInfo); sms.ReceiveInfo = _receiveInfo; } } return(receiveStr); } else { // 请先登录 msg.AppendFormat("请先登录"); log(msg); } return(null); }