![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
Доброго времени суток всем! Помогите решить проблему. Задача стоит такая: написать небольшой протокол обмена информацией между клиентом и сервером
Значит так сервер занимается отправкой сообщений смс. Он принимает от клиента по сокету служебное слово DELIVERYSTART после чего должен принять список получателей сообщения каждый получатель идет командой RECIPIENT и само сообщение по команде MESSAGE. Завершается передача командой DELIVERYEND. Так вот у меня вопрос как сделать так чтобы гарантировать корректную обработку ошибки в случае неполной передачи и можно ли передать список получателей как обьект скажем ArrayList тот же самый. И самое главное как организовать на клиенте все эти функции то есть взаимодействие с сервером. В принципе я понимаю как это сделать но я не уверен правильно ли , буду рад любой помощи, заранее спасибо. Здесь привожу фрагмент сервера
-------------------- The truth is out there |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Я бы попробовал передавать в виде XML - пусть немного накладнее, зато можно гарантировать, что если уж документ передан, то надежно все передано.
|
|||
|
||||
| barin_Student |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 488 Регистрация: 10.8.2007 Где: Казахстан , Алмат ы Репутация: 1 Всего: 2 |
Помойму проще не разрабатывать то что есть...
Вы уже в своем коде использовали часть SMPP протокола, проще его полностью реализовать.. www.isms.ru, посмотрите, если я про то. -------------------- Нехорошо блин!!! |
|||
|
||||
| jManiak |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 6.2.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Ну можно каким-нибудь алгоритмом генерировать контрольную сумму сообщения.
И на другой стороне генерировать такой же checksum, после чего сравнивать их. Если не равно одно другому, то пересылать заново. |
|||
|
||||
| niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
Можно, конечно, только смысла особого нет - TCP же. -------------------- SCJP 5.0, SCJD |
|||
|
||||
| barin_Student |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 488 Регистрация: 10.8.2007 Где: Казахстан , Алмат ы Репутация: 1 Всего: 2 |
Если вам надо массовую рассылку SMS,
прочитайте спецификацию SMPP,а именно SubmitMultiSM, и не надо будет самому что то делать, надо будет просто подставить готовые классы в нужном вам итоге... -------------------- Нехорошо блин!!! |
|||
|
||||
| jManiak |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 6.2.2007 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Да, знаю я несколько систем, которые тоже обмениваются данными через tcp... Вы не поверите, но процент ошибочных данных примерно равен 30%, хотя в целом от точки отправления до точки назначения не более 10% потерь больших пакетов, точно таких же как пересылает эта система. Так что tcp - это как выяснилось еще не гарантия доставки данных. Я бы не поленился и написал проверку чексама... |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
TCP/IP не гарантирует доставки всех данных. Гарантируется лишь целостность тех данных, которые дошли. -------------------- ![]() ![]() |
|||
|
||||
| niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
jManiak, можно подробнее про эти несколько систем? почему теряется 30% данных и где?
-------------------- SCJP 5.0, SCJD |
|||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
barin_Student,
А вы можете подсказать где этот класс взять или привести простой пример процедуры для посылки смс с проверкой ее доставки? Огромное спасибо, очень надо -------------------- The truth is out there |
|||
|
||||
| barin_Student |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 488 Регистрация: 10.8.2007 Где: Казахстан , Алмат ы Репутация: 1 Всего: 2 |
Есть библиотека org.smpp.*; и еще много разных, вот привиду пример работы как по протоколу это делается:
В этой библиотеке есть команда Bind*// посылается запрос на установление соединения с SMPP сервером.. для посылки сообщения используются восновном DeliverSM и SubmitSM, для массовой рассылки используется SubmitMultiSM.. В DeliverSM есть поле (не помню точно как ) ,отвечающее за ответ о доставке.. Вот маленький пример как примерно работать по SMPP протоколу с Опсос либо просто SMPP серверами:
Добавлено @ 12:01 Да не всегда совпадает отчет о доставке с реальной доставкой, впринципе вы можете пока ограничется отчетом о получение команды доставки, вот есть начатая тема , там и полностью доки есть о SMPP: http://www.isms.ru/faq.shtml?nameact=view&...=3&id2=1297 Добавлено через 8 минут и 13 секунд В примере есть граматические ошибки , но не в этом суть... Вы мне расскажите что дословно вам надо, кому вы посылаете сообщения ? Зачем вам отчет о доставке?(Хотя глупый вопрос).. И почему вы обрабатывали слова? Это сообщение отредактировал(а) barin_Student - 9.1.2008, 12:02 -------------------- Нехорошо блин!!! |
|||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
barin_Student,
А вы не из ЦРУ? Система такая: есть электронный магазин и он отсылает клиентам смс о сделанных заказах, о событиях если заказ пришел и т д, я сделал на яве смс центр который собирает информацию от магазина об смс, обрабатывает ее и посылает смс клиентам. Просто магазин не мой и все очень сложно я просто побоялся интегрировать это все в магазин. Вот и всё. А как просто послать смс толкового примера я не нашел я пользовался smppapi.sourceforge.net там в юзергейте это есть но ниче толкового не получилось а сроки поджимают поэтому и хотелось где то найти более менее рабочий пример посылки смс. Буду очень рад если у меня получится сделать рабочий модуль для этого) -------------------- The truth is out there |
|||
|
||||
| barin_Student |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 488 Регистрация: 10.8.2007 Где: Казахстан , Алмат ы Репутация: 1 Всего: 2 |
http://www.koders.com/java/fidF86298CF6D3D...F9C2D05759.aspx
простой пример, если вам от магазина приходит просто текст который вам надо передать и куда(номер), а вы уже должны передать при помощи операторов СМС , то вам надо практически полностью делать сам протокол , там есть пингация и т.п. , за день вы это не решите)) -------------------- Нехорошо блин!!! |
|||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
barin_Student,
Нет просто вот попытаюсь так сказать: надо послать просто через интернет послать смс на мобилу, не через мобилу а через смпп интернет протокол. Неужели так сложно написать минимальный пример для этого? Мне казалось это уже давно решено -------------------- The truth is out there |
|||
|
||||
| barin_Student |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 488 Регистрация: 10.8.2007 Где: Казахстан , Алмат ы Репутация: 1 Всего: 2 |
Возмите тот пример по последней ссылке , тот метод что есть Sumbit(), это и есть посылка смс..
не делал по Http , а если при помощи Опсос то это ко мне.. Я просто не вижу сложности разобрать тот пример, максимально простой.. -------------------- Нехорошо блин!!! |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |