How to concat long SMS in GSMComm Library?

2019-02-10 14:13发布

问题:

Here is my code:

According to this page the CreateConcatTextMessage method returns an array with type SmsSubmitPdu[] but, when I try to send it with SendMessages I get a MessageServiceError 500. What am I missing?

       SmsSubmitPdu[] pdu2;

        try{
            pdu2 = SmartMessageFactory.CreateConcatTextMessage("My name is Barry Allen. And I am the fastest man alive. When I was a child I saw my mother killed by something impossible. My father went to prison for her murder.", "+639234597676");
            comm.SendMessages(pdu2);
        }

        catch (MessageServiceErrorException e500){
            MessageBox.Show(e500.ToString(), "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
        catch (CommException e501){
            MessageBox.Show(e501.ToString(), "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }

回答1:

Your code should looks like this:

GsmCommMain comm=new GsmCommMain(/*Set your option here*/);

string txtMessage="your long message...";
string txtDestinationNumbers="your destination number";

//select unicode option by a checkBox or any other control
bool unicode = chkUnicode.Checked;

SmsSubmitPdu[] pdu = SmartMessageFactory.CreateConcatTextMessage(txtMessage, unicode, txtDestinationNumbers);
сomm.SendMessages(pdu);


回答2:

Enter the number without the county code.

using GsmComm.GsmCommunication;
using GsmComm.PduConverter;
using GsmComm.PduConverter.SmartMessaging; 
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                GsmCommMain comm = new GsmCommMain("COM7", 19200, 500);
                comm.Open();
                string txtMessage = "Input here very long message please ";
                string txtDestinationNumbers = "+79235280406";
                bool unicode = true;  
                SmsSubmitPdu[] pdu = SmartMessageFactory.CreateConcatTextMessage(txtMessage, unicode, txtDestinationNumbers);
                comm.SendMessages(pdu);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
    }
}

https://github.com/welly87/GSMComm