|
|
  |
Определение "настоящего" начала соединения |
|
|
|
Sep 4 2006, 01:54
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726

|
Цитата(bullit @ Sep 2 2006, 23:37)  Столкнулся с такой проблемой, что после появления CONNECT 9600 передача может быть осуществлена не ранее чем через 1-7 секунд, все переданное до не передается, пропадает. Как определить когда действительно есть активное соединение, что передача может быть осуществленна? Или просто: один шлет другому что-то, и пока не получит от другого определенный ответ не начнет "активную фазу работы(передачуинформации)"? Всё это как-то не очень красиво, но зато надежно. А если мониторить сигнал CD (Carrier detect)? Я когда работал с сотовыми терминалами, так и делал. Проблем, похожих на ваши, не возникало.
|
|
|
|
|
Sep 7 2006, 08:53
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(subver @ Sep 4 2006, 05:54)  Цитата(bullit @ Sep 2 2006, 23:37)  Столкнулся с такой проблемой, что после появления CONNECT 9600 передача может быть осуществлена не ранее чем через 1-7 секунд, все переданное до не передается, пропадает. Как определить когда действительно есть активное соединение, что передача может быть осуществленна? Или просто: один шлет другому что-то, и пока не получит от другого определенный ответ не начнет "активную фазу работы(передачуинформации)"? Всё это как-то не очень красиво, но зато надежно.
А если мониторить сигнал CD (Carrier detect)? Я когда работал с сотовыми терминалами, так и делал. Проблем, похожих на ваши, не возникало. Именно так. Необходимо мониторить ответ CONNECT ('1'), который должен придти 'инициатору' на запрос соединения. Это подтверждение и является гарантией, что соединение уже произошло и линия готова к передачи данных.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Sep 11 2006, 17:30
|

пуля
   
Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959

|
Цитата bullit, похоже Вы правы после получения подтверждения CONNECT ('1'), на линии необходимо выдержать timeout длительность которого необходимо выяснять либо экспериментально или в стандарте на сети (выбирается максимальное время одной из сети) по которым осуществляется передача. Когда я проводил подобные эксперименты осваивая работу модемов то для подобного случая приблизительно делал задержку в 3 сек. Я тоже свел статистику, около 3-4 сек выходит. Притом велечина помоему постоянная. Но у разных операторов разная. Помоему у Мегафона самая короткая.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|