|
|
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Собственно ситуация. Я реализовал сканер, который в потоке слушает смс-шлюз на предмет ответных сообщений (пакетов deliverySM). Но меня смущает его работа. Например вчера мной были отправлены порядка 100 сообщений. Нарекания: Например если сканер запустить сегодня то он примет все ответные пакеты, но если при его работе я отправлю сообщение то он по долгу висит и не принимает deliverySM. Если перезапустить сканер, то он снова примет пакеты за все вчерашние сообщения и ни слова о только что отправленном. вот исходник моего класса ресивера Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 11:30 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
и в мейне соответственно вызываю метод старт. спасибо заранее за ответы. если нужна еще информация то готов предоставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 11:34 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
true_revenant, А Вы спецификацию протокола внимательно читали? Там ведь чётко написано, что для deliver_sm сервер ожидает ответ deliver_sm_resp. А у Вас его почему-то не видно. Вот сервер и не удаляет у себя из очереди PDU пакеты, а шлёт их повторно... PS. Про код ничего говорить не буду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 21:55 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
Я понял вас. переделал. сейчас метод, который слушает выглядит так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Сейчас я обрабатывают пакеты, но сервер все равно продолжает повторно слать пакеты. Чего то еще не хватает? ЗЫ Вы об этой спецификации? - http://ru.scribd.com/doc/68185006/54/Операция-“-DELIVER-SM-” ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 09:51 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
имхо, протестировать лень, а так: true_revenant Ну если он шлет пакеты, значит if (pdu instanceof DeliverSM) => pdu не инстанс оф деливерСМ, pdu берется из pdu = session.receive();, что такое Session я не нашел. А где импорты вначале файла кстати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 13:08 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
Сейчас скину еще раз java-файл полностью. Вот. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 13:22 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
true_revenantЯ понял вас. переделал. сейчас метод, который слушает выглядит так: Код: java 1. Сейчас я обрабатывают пакеты, но сервер все равно продолжает повторно слать пакеты. Чего то еще не хватает? ЗЫ Вы об этой спецификации? - http://ru.scribd.com/doc/68185006/54/Операция-“-DELIVER-SM-” Да, об этой спецификации, а именно про пункт 4.6.2 на стр.99 и пункт 2.6.1 на стр. 27. В коде у Вас я не увидел отправки deliver_sm_resp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 14:48 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
true_revenant, Кстати, а почему для submit_sm также нет ответа??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 14:55 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
для submit_sm отправляется ответ в другом модуле, который отправляет смс на сервер. здесь исходник модуля который принимает и обрабатывает deliverySM с сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 09:34 |
|
||
|
SMPP. прием ответов с смс-шлюза
|
|||
|---|---|---|---|
|
#18+
true_revenant, тогда проверяйте как у Вас отрабатывает вот этот кусок: Код: java 1. 2. 3. По всей вероятности вызов session.deliver(deliverSm) должен отправить подтверждение серверу...? Т.е. создать PDU deliver_sm_resp , заполнить его и отправить на сервер... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38560918&tid=2127631]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
176ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 479ms |

| 0 / 0 |
