Невозможно отправить более 160 символов смс С# с помощью модема GSM

Я много искал, но все еще не мог найти именно то, что ищу. На самом деле я работаю над приложением winforms, которое позволит пользователю отправлять массовые смс-сообщения с использованием библиотеки GSMCOMM с помощью GSM-модема. Чего я добился до сих пор, так это того, что я могу отправлять текстовые сообщения длиной ‹= 160 символов, но проблема начинается, когда сообщение становится длиннее 160 символов. Я не получаю никаких ошибок, и смс, казалось, были отправлены, но на самом деле это не так. Я делюсь своим фрагментом кода, который используется для отправки смс. Пожалуйста, взгляните на него и дайте мне знать, где проблема. Спасибо.

SmsSubmitPdu[] pdus; 
comm.Open();
pdus = SmartMessageFactory.CreateConcatTextMessage(message, number);
comm.SendMessages(pdus);
comm.Close();

person Omer    schedule 02.07.2018    source источник
comment
@SaniSinghHuttunen Нет, это не связано со ссылкой, которой вы поделились. Пожалуйста, смотрите обновленный вопрос. Я не использую никакого API.   -  person Omer    schedule 02.07.2018
comment
Пожалуйста, немного отформатируйте свой код, его почти невозможно читать таким образом.   -  person bommelding    schedule 02.07.2018
comment
Непонятно, почему вы должны использовать CreateConcatTextMessage() для сообщений ‹= 160, но именно в этом методе происходит волшебство. Разместите это.   -  person bommelding    schedule 02.07.2018
comment
@bommelding я обновил фрагмент кода, пожалуйста, посмотрите сейчас и дайте свое ценное предложение.   -  person Omer    schedule 02.07.2018
comment
Вы сократили его (слишком сильно). Цикл был актуален, но в основном он касается CreateConcatTextMessage, который должен добавлять специальные символы продолжения.   -  person bommelding    schedule 03.07.2018
comment
@bommelding спасибо за ответ. Я разместил решение как ответ. Ваше здоровье   -  person Omer    schedule 03.07.2018


Ответы (1)


Итак, после многих и многих усилий, исследований и незначительных изменений в коде я получил решение, и теперь оно работает отлично. Я публикую решение, которое сработало для меня, и я надеюсь, что оно также поможет тем, кто сталкивается с той же проблемой.

Убедитесь, что библиотека GSMCOMM обновлена ​​до последней версии, т. е. версии 1.21.0, в противном случае она может работать неправильно.

Это правильный фрагмент кода. Он будет отправлять короткие сообщения (т. е. меньше или равные 160 символам), а также длинные текстовые сообщения (т. е. более 160 символов) в виде одного смс.

OutgoingSmsPdu[] pdus = null;
comm.Open();
pdus = SmartMessageFactory.CreateConcatTextMessage(message, number);
comm.SendMessages(pdus);
comm.Close();
person Omer    schedule 03.07.2018