Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Проблемы с UDP

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Sasha_t



Зарегистрирован: 09.05.2006
Сообщения: 5
Откуда: Украина, Днепр

СообщениеДобавлено: Вт Май 09 2006 05:11    Заголовок сообщения: Проблемы с UDP Ответить с цитатой

OC : Windows XP
компелятор Builder

пользую компонент indy IdUDPServer

Есть проблема потери пакетов, например при сворачивании моего/других приложений обязательно парочка пропадает

Делаю так:
Код:

HANDLE procHandle = GetCurrentProcess();
 if (!SetPriorityClass(procHandle, REALTIME_PRIORITY_CLASS))
           ShowMessage("Err SetPriorityClass");

 CloseHandle(procHandle);


Не помогает , как победить?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Вт Май 09 2006 11:59    Заголовок сообщения: Ответить с цитатой

UDP не гарантирует доставку пакетов. Если вам нужна гарантиованная доставка обратитесь в сторону TCP
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Sasha_t



Зарегистрирован: 09.05.2006
Сообщения: 5
Откуда: Украина, Днепр

СообщениеДобавлено: Вт Май 09 2006 19:04    Заголовок сообщения: Ответить с цитатой

я знаю что UDP не гарантирует, однако мне кажется, что при 100Мб сети, и обьеме передаваемой\принимаемой информации около 50кб/с потерям просто неоткуда должно браться...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Ср Май 10 2006 14:21    Заголовок сообщения: Ответить с цитатой

Должно не должно дело десятое. Ничего аномального в такой работе UDP нет следовательно и разговаривать неочем... Вот если TCP пакеты начнут пропадать, тогда другое дело...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
kolobok0



Зарегистрирован: 22.04.2005
Сообщения: 253
Откуда: Мсква

СообщениеДобавлено: Ср Май 10 2006 14:22    Заголовок сообщения: Ответить с цитатой

Sasha_t писал(а):
я знаю что UDP не гарантирует, однако мне кажется, что при 100Мб сети, и обьеме передаваемой\принимаемой информации около 50кб/с потерям просто неоткуда должно браться...


уже сказали выше - Ваш вопрос и выбор средств решения -> не совместимы. Либо используйте другой протокол, либо не задавайте не корректных вопросов.

Теперь по существу...
1) Вы можете хоть осбтавиться приоритетами выполнения. Это собаке седло, либо 7 нога... Вы можете запустить снифер сити и убедиться что пакеты UDP уходят в любом случае с Вашей станции. Вы сам вопрос и пути решения используете из разных плоскостей. Пытаетесь решить сетевые проблемы на локальном проце и ресурсах...Занятное дело аднака Smile
2) Потеря пакетов может быть по разным причинам. И точку насыщения никто не отменял кстати. Пропускная способность канала занимательная цифра, но из области теорий. Почему - по разным причинам. От банального не контакта, до неуспевании свитча обработать поток данных. Либо выкидывание не пакетов, по тысяча и одной причине... Либо не согласование нагрузок в кабельном хозяйстве... Либо забивании трафика передачей нескольких гигов инфы на других станциях... Либо глюк графической станции Юникса стоящей в режиме ввода пароля... и т.д. и т.п.. Вариантов достаточно, чтоб чихать на Ваши телодвижения на станции...


UDP гарантирует передачу пакета и всё... Никто Вам не обещал что пакет получит адресат. НЕТ ТАКОГО !
TCP гарантирует упорядоченную передачу данных клиенту. В режиме полного дуплекса (туды-сюды по русски). Заметьте - в данном протоколе НЕ идёт речь о ПАКЕТАХ. Идёт речь о ПОТОКЕ !!!


с уважением
(круглый)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Sasha_t



Зарегистрирован: 09.05.2006
Сообщения: 5
Откуда: Украина, Днепр

СообщениеДобавлено: Ср Май 10 2006 19:41    Заголовок сообщения: Ответить с цитатой

Да, все сказаное верно, особо не поспоришь...

Установка высокого приоритета процесса была сделана в виду раздумий на тему что приложение может не успевать обработать месидж о приеме пакета, или вообще не обрабатывает по причине некой *занятости* кого то чем то..., хотя в тестовой программе нет ничего кроме чтения пакета, и выяснению не случилось ли потери...

Есть одна особенность которая не дает мне покоя...:
Различное качество приема информации на компах с одинаковой или равнозначной комплектацией.... Причем еслина на каком то РС информация принимается с потерями, то картина потерь 100% одинаковая в случае передачи информации на этот РС от удаленного компьютера, и в том случае если запустить преложение приема\передачи на одном РС.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Aragaer



Зарегистрирован: 28.03.2005
Сообщения: 164

СообщениеДобавлено: Чт Май 11 2006 09:18    Заголовок сообщения: Ответить с цитатой

Если в голове присутствует полная уверенность в том, что подобные потери будут случаться безумно редко и с этим есть желание смириться, можно попытаться намутить всяких проверок на тему того, что очередной пакет все-таки пропал. И в этом случае хотя бы страшно ругаться.
_________________
Open your eyes.
And Awaken.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kolobok0



Зарегистрирован: 22.04.2005
Сообщения: 253
Откуда: Мсква

СообщениеДобавлено: Чт Май 11 2006 13:32    Заголовок сообщения: Ответить с цитатой

Aragaer писал(а):
Если в голове присутствует полная уверенность в том, что подобные потери будут случаться безумно редко и с этим есть желание смириться, можно попытаться намутить всяких проверок на тему того, что очередной пакет все-таки пропал. И в этом случае хотя бы страшно ругаться.


Вы апсолютно правы... Правда задавшись такой целью и сделав софтяру начинаешь понимать что в профиль это нечто смахивающее на TCP слой. Идти по этому направлению - нужно отдавая се отчёт в этом. И понимать ради чаво пошёл. Например...

Реализация протокола на МК каком нить. Правда там так же, уже многие тропы истоптаны тыщу раз...
--------------------------------------------------


Sasha_t писал(а):
....Различное качество приема информации на компах с одинаковой или равнозначной комплектацией.... Причем еслина на каком то РС информация принимается с потерями, то картина потерь 100% одинаковая в случае передачи информации на этот РС от удаленного компьютера, и в том случае если запустить преложение приема\передачи на одном РС.


Это не совсем так...
Попробуйте провести такие эксперименты как
1) забить канал пакетами.
2) забить ударной нагрузкой сервак(рабочую станцию).
3) перевести приоритет выполнения приёмника(передатчика) ниже - в фоновый режим. Либо поднять какому-нить выполняющемуся процессу приоритет до реал тайма...

инфу для анализа берите на уровне снифера. а не мессэдж диаложков(и не апи Win32, а ниже).
---------------------------------------------------


с уважением
(круглый)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Sasha_t



Зарегистрирован: 09.05.2006
Сообщения: 5
Откуда: Украина, Днепр

СообщениеДобавлено: Вс Май 14 2006 01:44    Заголовок сообщения: Ответить с цитатой

Проблема решилась...
Из програмы выбрашены опробованные компоненты UDP, (Indy, NMUDP) опустились до уровня winsocket:

Код:

WSAStartup
socket
bind
WSAAsyncSelect
recvfrom


Потери бывают, но не принципиального характера, вообще история с этими компонентами не выдерживающеми критики оставила весьма тяжелый осадок, не понятно зачем из выпускают.., или же нужно быть каким то более искушенным их пользователем, не известно..., вообще по работе с этими компонентами, в сети оч много обсуждается проблем, между тем удобного опубликования принципов использования winsocket маловато...

За последнее время просмотрев некоторое количество проектов пришел к выводу что борланд не пользуют для серьезных вещей..., вопрос такой, продуктивно ли более менее владея билдером попробовать поизучиать вижуал... ? Чему отдается большее предпочтение участниками форума шарп или чистый вижуал?

От души благодарю всех кто принимал участие в обсуждении этой теме.[/quote]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Вс Май 14 2006 07:50    Заголовок сообщения: Ответить с цитатой

microsoft must die!!! Java - круто!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...