Не могу отправить более 160 символов смс C # с помощью модема GSM - PullRequest
0 голосов
/ 02 июля 2018

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

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

1 Ответ

0 голосов
/ 03 июля 2018

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

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

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

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