ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
[Delphi, Winsock]Теряются UDP пакеты при Broadcast'е. Почему? |

14.05.2010, 08:26
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
[Delphi, Winsock]Теряются UDP пакеты при Broadcast'е. Почему?
В программе с помощью winsock шлю по udp звуковые данные. Если указать IP своего или другого компа, то данные доходят в целости и сохранности. Если указать широковещательный адрес (у меня это 192.168.1.255), то до компа, скоторого отпраляли, данные доходят нормально, а до другого отрывками - отправлееное теряется независимо от способа соединения компов, хоть проводной сеткой (хотя потерь чуть-чуть меньше), хоть беспроводной. В чем может быть причина? Или так и должно быть?
|
|
|

14.05.2010, 09:08
|
|
Новичок
Регистрация: 29.08.2009
Сообщений: 20
Провел на форуме: 80528
Репутация:
0
|
|
ну это же Udp ...
|
|
|

14.05.2010, 09:45
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
Это-то понятно! Но ведь если указать НЕ широковещательный адрес, а чей-нибудь ip, то всё доходит нормально!
|
|
|

14.05.2010, 15:35
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Ну так тут пакеты идет строго всем и приходят в последовательности в которой ты их постал. Почти в такой. А тут получается что пакеты в сеть идет, и если это свитч, то ему приходится напрягаться и всем рассылать по отдельности. Вот могут и быть потери. Хотя мне кажется там не потери, а перемешка скорее всего.
Попробуй перед отправкой пакета, чтобы первые 4 байта были - порядковым номером пакета и отсылай их. А на приемной стороне отризай их и сохраняй номера и посмотришь тогда точнее какие именно пакеты теряются или мешаются
|
|
|

14.05.2010, 18:13
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
slesh, спасибо! Отличная идея!
Я теперь вообще ничего не понимаю! Всё работает! Хотя я ничего не исправлял! Магия...
Кстати! Во время проверки обнаружились странные пакеты. Их размер, определяетмый функцией recvfrom -1 (это не тире один, это МИНУС ОДИН). Если их игнорировать на качество звука никак не меняется.
|
|
|

14.05.2010, 18:21
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
Странно! Убрал из программы весь код связанный с проверкой - опять звук прерывистый! Вместо "Привет" "П р е" (ну вобщем как-то так)
|
|
|

14.05.2010, 18:25
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
Оказывается если поставить Sleep(10); в процидкре приёма, то всё звучит нормально, но это не дело - задержки!
Странно! Когда использовал NMUDP, то всё было в порядке, хотя алгоритмы такие же. Вроде.
Последний раз редактировалось Proger10; 14.05.2010 в 18:48..
|
|
|

14.05.2010, 18:51
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
А есть способ кодирование аудио, сжимающий лучше, чем mp3??
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|