Комментарии 8
1)сделать метод async, чтобы избавиться от wait
2)не собирать xml как интерполяцию, т.к. если у вас в тексте будет например кавычка или символ <, xml будет невалидна
1)сделать метод async, чтобы избавиться от wait
Конечно, на усмотрение разработчика
2)не собирать xml как интерполяцию, т.к. если у вас в тексте будет например кавычка или символ <, xml будет невалидна
Ну тут все жестко, другой код и не приходит, кавычки исключены, все вшито в софт модема
Смело можете доработать и запускать платный сервис по отправке СМС! )))
А вот назвать consumer'овские GSM модемы надежными не поднимается рука. Через достаточно непродолжительные промежутки времени у тех что я использовал отваливалась сеть и требовалось передергивать модем в usb порт. В итоге проблема решилась покупкой промышленного GSM модема.
С русскими буквами легко не будет. Описанным методом отправки, это скорее всего не возможно принципиально. У Вас идет отправка нескольких полей (телефон, сообщение), на основе которых формируется в модеме команда AT+CMGS. Кодировки кроме латиницы представляются в кодировке UCS2, и команду нужно в другом режиме использовать. Отправка в модемных командах:
ЛАТИНИЦА:
AT+CMGF=1 [Enter]
AT+CMGS=+79261234567 [Enter]
hello habr, this is test message [Ctrl+Z]
КИРИЛЛИЦА:
AT+CMGF=0 [Enter]
AT+CMGS=84 [Enter]
0011000B919762214365F70008C146043F04400438043204350442002004450430043
10440002C0020044D0442043E00200442043504410442043E0432043E043500200441
043E043E043104490435043D04380435 [Ctrl+Z]
Я давно на Delphi делал отправщик через COM с русскими буквами на Delphi на основе статьи: https://habr.com/ru/post/133085/ .
Конвертация скрипта Bash в код С# для отправки СМС через usb модем HUAWEI E3372