Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Быстрая передача данных по сети   Найти похожие ветки 

 
L0N6   (2003-12-17 17:35) [0]

Подскажите, какой код использовать ( хоть WinAPI, хоть ASM ) чтобы передача небольших объемов данных между приложениями в сети было минимальным. С использованием TClientSocket и TServerSocket получается медленно.


 
Fredericco   (2003-12-17 17:56) [1]

Конкретные цифры можешь привести?
Почему ты решил что это медленно?
Может быстрей невозможно в принципе?


 
antdrnc   (2003-12-17 18:16) [2]

TCP сокеты осуществляют буферизацию небольших блоков данных и
передают их все сразу когда буфер заполнен или истек интервал времени.
Буферизацию можно отключить.
Попробуй:
param: integer;
param:=1;
setsockopt(sock,IPPROTO_TCP,TCP_NODELAY,PChar(@param),sizeof(param));


 
L0N6   (2003-12-17 21:28) [3]


> Конкретные цифры можешь привести?

1000 передач ( посылка - ответ ) по 100 байт за ~0.45 сек
10000 по 100 за ~4.2сек
10000 по 500 за ~5.1 сек
100000 по 100 за ~45сек
100000 по 500 за ~53сек
т. е. менее мегабайта в сек
сетка 100Mb, при передаче системный монитор показывает загрузку сети ~15%

> Может быстрей невозможно в принципе?

Может, действительно быстее нельзя?


 
Eraszer   (2003-12-18 01:15) [4]

Если используешь локалку, как можно больше увелич все возможные буффера, как в самом приложении так и в системе.
Проверь, чтобы MTU (maximum transfer unit) был не менее 1500!


 
Digitman   (2003-12-18 08:19) [5]


> L0N6


в сети Microsoft для этой цели гораздо эффективней будет использование именованых программных каналов (Named Pipes)


 
Fredericco   (2003-12-18 12:48) [6]

L0N6 (17.12.03 21:28) [3]
Бысрей можно, скорей тормоза возникают в программе.
>>100000 по 100 за ~45сек
Я так понимаю это 50000 туда (посылка) и 50000 обратно(ответ), правильно я понял?


 
Digitman   (2003-12-18 14:20) [7]


> С использованием TClientSocket и TServerSocket получается
> медленно.


воозможно, это - из-за незнания особенностей тех или иных режимов работы компонентов



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

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.044 c
3-79631
Solar
2004-01-30 12:36
2004.02.25
Суммирование значений полей после выполнения SQL-запроса


1-79765
zamkom
2004-02-11 15:04
2004.02.25
Вопрос про массив


1-79724
smolin
2004-02-12 11:21
2004.02.25
Функция перемещения файла


1-79783
malganus
2004-02-14 11:31
2004.02.25
Вызов внешних программ из приложения


3-79557
Sedunov Vitaly
2004-01-29 17:55
2004.02.25
Несколько наборовданных в ADODataSet





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский