![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| trueRevenant |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.8.2011 Репутация: нет Всего: нет |
сем доброго времени суток!
Недавно я разработал приложение для рассылки SMS-сообщений абонентам через шлюз SMPP. Все работало хорошо, пока не возникла потребеность отправке более длинных сообщений (в моем случае более 70 русских символов). в документации по используемой мной библиотеке которую откопал в интернете я прочел чтобы удлинить передаваемое сообщение нужно записать его в поле message_payload и что оно не должно использоваться совместно с полем short_message. Путем примеров из различных источников я изменил метод отправки. Для наглядности код ДО:
метод convert_str перевод сообщение в кодировку UTF16_BE код ПОСЛЕ:
При данных изменениях Сообщение приходит на телефон адресата, но нечитаемо (Текст - "Сообщение невозможно прочитать"). Некоторые строки я брал их примеров и они до сих пор мне не понятны если честно. Проблема в том что я не смог в инете найти внятного описания и примеров как работать с полем message_payload. Может кто-нибудь с этим сталкивался? Жду ваших комментариев. Заранее спасибо. Это сообщение отредактировал(а) trueRevenant - 10.8.2011, 09:10 |
||||
|
|||||
| trueRevenant |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.8.2011 Репутация: нет Всего: нет |
при дальнейшем поиске решения я наткнулся на новую проблему:
сейчас код отправки выглядит так:
но при отправке сообщения более 70 русских символов, сообщение просто не доходит до адресата. если 70 или менее то все нормально доходит и читается. хотя поле для больших сообщений. чем это обусловлено пока понять не могу. Это сообщение отредактировал(а) trueRevenant - 29.8.2011, 08:00 |
|||
|
||||
| trueRevenant |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.8.2011 Репутация: нет Всего: нет |
В дополнение к моему последнему посту.
Ответ со шлюза возвращает ошибку в resp.getCommandStatus() = 192. перевел ее в HEX получил 0x000000C0. Почитал спецификацию протокола. 0x000000C0 - Error in the optional part of the PDU Body. |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
Тут лучше перехватить tcpdump... в нем легче понять суть проблемы.
Если нужно - то помогу! |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |