Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Вниз

Буфер UDP   Найти похожие ветки 

 
s22_shura   (2002-12-15 20:19) [0]

Кто-нибудь на этой огромной планете знает как в Windows установить размер приёмного буфера выделяемого при создании UDP сокета?
MSDN по этому поводу отмалчивается :( , хотя по TCP/IP такую информацию даёт.
Опытным путём я определил примерный размер этого буфера ~8кб. Хотелось бы ешо увеличить. Наверняка это делается как и с TCP путём добавления соответствующих записей в реестр, но вот каких и куда.......??????????????


 
Sha   (2002-12-15 20:33) [1]

Несколько дней назад обсуждали. Там все есть.


 
s22_shura   (2002-12-16 20:04) [2]

Уважаемый Sha, я не смог найти в форумах эту информацию :((((((((, но мне она очень необходима, а то ещё уволят ненароком :) , хотя это врятли, но уже 2 недели убиваюсь.
Проблемма в том, что прога, принимающая UDP сообщения их теряет из-за того, что указанный буфер переполняется. А переполняется он из-за того, что иногда прога наинает расчёты и некоторое время не хватает процессорного времени на извлечение из этого буфера.
Я тут ещё спрашивал про потоки - это всё одна и та-же проблемма, не знаю уже что делать.
Прежде чем бросаться всё переделывать на ТСР хотелось бы увеличить размер UDP буфера.
Я использую объект класса TNMUDP.
Одним словом - если можешь помочь с буфером буду очень благодарен.


 
Sha   (2002-12-16 21:33) [3]

2 s22_shura (16.12.02 20:04)

Если кто-то ест процессор, поможет только внутренняя нумерация пакетов и перезапрос в случае их потери.

А ссылка вот:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1039282160&n=4


 
s22_shura   (2002-12-17 19:39) [4]

setsockopt ээто конечно клёво, но я и товарищу тому бы посоветовал для таких настроек ТСР как размеры пакетов и буферов и всего такого есть ключи в реестре. Выставил и всё ок, а для UDP не нашёл (в то чо их нет я не верю). Может найдётся умник - подскажет. Я уже всех продвинутых знакомых, среди которых есть сертифицированные Microsoft-ом, напряг, нои они ничё не нашли.

setsockopt ээто конечно клёво, но в моём случае всё сложнее. Я всё из начально делал на TNMUDP, и теперь если уж переделаю весь проект, то на ТСР наверное (ТАК НЕОХОТА!!! Всё Т А К работоло как часы.... пока на предельных нагрузках обмен не начался). Хотелось малой кровью попробовать увеличить буфер, а для setsockopt нужен дискриптор сокета, а у меня его нет :(


 
-=Ventus=-   (2003-02-05 14:20) [5]

SetLength();


 
Digitman   (2003-02-05 14:28) [6]

если лень переделывать, перехвати вызов своим процессом ф-ции socket() из ws2_32.dll, будет тебе и дескриптор)


 
Ундервуд   (2003-02-05 15:21) [7]

Странно это всё кстати говоря... Когда я для проверки одного чата на NMUDP сделал бомбер и начал засыпать клиента пакетами, ну ограничась 65535 пакетами подряд, по килобайту каждый примерно, то клиент подвисал намертво на 2-3-5 минут, в зависимости от проца, но в конце концов все эти пакеты попадали по назначению.


 
neodiX   (2003-02-05 19:11) [8]

используй indy компонент, там размер удп буфера меняется без проблем...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
6-88114
Cosmic
2003-02-05 07:50
2003.03.27
А как отключить порт?


14-88151
Supreme 2
2003-03-12 16:01
2003.03.27
Когда я уже найду себе девушку!!!


1-88039
seledka
2003-03-14 16:17
2003.03.27
файлы и директории


9-87768
JB
2002-10-28 12:05
2003.03.27
Всё те же спрайты................................................


1-87967
RelakS
2003-03-18 00:59
2003.03.27
Появление формы попиксельно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский