Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

UDP - это connectionless способ передачи данных

Отправлено vitalyn 19 августа 2009, г. 06:33
В ответ на: Алё, гараж! Нужно четко детектировать ситуации СONNECT и DISCONECT клиента для UDP сервера. С СОNNECT проблему решил. С DISCONNECTом - нет. Есть идея использовать ioctlsocket с флагом SIO_FIND_ROUTE( определяет, есть ли связь с заданным адресом). Вот примеров не надыбал. Кто нить че нить делал подобное? отправлено пользователем ETM 19 августа 2009, г. 04:33

Т.е. передатчик кинул датаграмму "на деревню дедушке", а принял там её кто-нибудь, или вообще в пути потерялась - никого не интересует.

Это если стек позволяет, то он тебе сразу может сказать, что no route to host или network unreachible, но вообще-то расчитывать на это нельзя - он может и не знать, что пути туда уже нет, или что он уже появился. Если на пути к цели стоит несколько роутеров, то какой-то из них может выяснить, что дальше пути нет, и датаграмму передать дальше нет никакой возможности, тогда он может отправить назад ICMP пакет с сообщением о невозможности доставки, но, зачастую, во-первых, этот сервис отключен, а во-вторых, ретрансляция ICMP пакетов может быть зарезана так, что даже банальный ping не работает.

Когда я делал передачу данных между узлами, постоянно с заданным интервалом t слал UDP датаграммы (содержащие инкремент номера, идентификаторы получателя и отправителя, HMAC и т.п.) и подтверждения на них. Если на датаграмму подтверждение пришло - связь есть. Если на N датаграмм подряд подтверждения нет - связь пропала.


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 123:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru