Форум: "Начинающим";
Текущий архив: 2009.06.14;
Скачать: [xml.tar.bz2];
ВнизПреимущества нескольких соединений (TCP или UDP ) над одним Найти похожие ветки
← →
kami © (2009-04-24 23:22) [0]Вопрос сугубо теоретический, может быть даже лучше было бы его разместить в "Прочее".
Имеются 2 программы - клиент и сервер.
Само собой, они обмениваются информацией (протокол, думаю, не важен, но для примера возьмем ТСР).
Информация представляет собой независимые друг от друга данные.
Как лучше (и почему, т.е. imho не предлагать :) ) сделать сам процесс обмена - заводить на каждый тип передаваемых данных отдельное TCP соединение, или же "запихать" все в одно?
Будем считать, что код передачи (и приема, само собой) будет "идеален", в том числе - в случае единственного TCP-соединения данные на приемном конце нормально "распараллеливаются".
Конкретно интересует общая пропускная способность канала связи в этих 2-х режимах с учетом того, что других задач сетевая_карта/модем/что_там_еще_ не выполняет.
Навеяно реальной задачей и менеджерами закачек типа FlashGet.
← →
Сергей М. © (2009-04-24 23:26) [1]Смесь кислого с зеленым ..
← →
ТД (2009-04-24 23:29) [2]
> и менеджерами закачек типа FlashGet.
это как же навеяло то?
← →
kami © (2009-04-24 23:38) [3]> Смесь кислого с зеленым
Сергей, Ваше мнение непререкаемо, но хотелось бы уточнить: что и с чем намешано?
Вроде старался не делать миксов...
Упростив, попробую спросить так:
В каком случае скорость обмена будет быстрее - по нескольким TCP соединениям или по одному?
> [2] ТД (24.04.09 23:29)
> это как же навеяло то?
Да вот именно так и навеяло. Чем-то же руководствовались создатели FlashGet, устраивая многопоточную закачку даже для 1 файла.
А мне нужно сделать закачку данных. Разных. С одного сервера. Одновременно.
Вот и думаю, как эта закачка будет проходить быстрее.
← →
kami © (2009-04-24 23:39) [4]> В каком случае скорость обмена будет быстрее
Опять не так выразился.
ОБЩАЯ (совокупная, etc...) скорость обмена.
← →
ТД (2009-04-24 23:45) [5]
> kami © (24.04.09 23:39) [4]
> ОБЩАЯ (совокупная, etc...) скорость обмена.
обмена чем?
зы
> Чем-то же руководствовались создатели FlashGet, устраивая
> многопоточную закачку даже для 1 файла.
руководствовались узким каналом источника в одно рыло
← →
kami © (2009-04-24 23:46) [6]> [5] ТД (24.04.09 23:45)
> обмена чем?
Данными по TCP соединению(ям).
> узким каналом источника в одно рыло
Чье рыло?
← →
Сергей М. © (2009-04-24 23:47) [7]
> kami © (24.04.09 23:38) [3]
> что и с чем намешано?
"Намешаны" прикладные и транспортные протоколы с пропускной способностью канала
← →
kami © (2009-04-25 00:22) [8]> [7] Сергей М. © (24.04.09 23:47)
> "Намешаны" прикладные и транспортные протоколы с пропускной
> способностью канала
Есть такое, терминология хромает.
> [5] ТД (24.04.09 23:45)
> узким каналом источника в одно рыло
Только сейчас, кажется, понял - т.е. множественное соединение во FlashGet использовалось только из-за ограничения сервером скорости передачи в каждое соединение?
В итоге, опять мешая зеленое с кислым, мне нужно сделать выбор:
создавать несколько TCP соединений между клиентом и сервером и отправлять каждый тип данных в "свое" соединение, или же завести одно на всех и передавать данные по кусочкам. Ни то ни другое проблем не составляет (и по структуре приложения в том числе), жалко только тратить время (которого, как обычно, нет) на реализацию обоих вариантов, чтобы посмотреть что будет быстрее и "параллельнее" работать.
← →
Сергей М. © (2009-04-25 00:31) [9]
> что будет быстрее и "параллельнее" работать
Про "быстроту" можно даже не заикаться - она определяется OSI-уровнями с 1-го по 2-й. Можно сюда и 3-й отнести, если на сцену выступают шейперы ..
А вот про "параллельность" можно и позаикаться - это уже имеет непосредственное отношение к прикладной задаче ..
Ну вот для начала попытайся сравнить, скажем, активный и пассивный режимы FTP ..
← →
kami © (2009-04-25 01:02) [10]> [9] Сергей М. © (25.04.09 00:31)
> она определяется OSI-уровнями с 1-го по 2-й
Ну, на физический и канальный уровень я и не замахиваюсь :)
Т.е. с точки зрения быстроты обмена без разницы, какой вариант будет выбран. ?
> А вот про "параллельность" можно и позаикаться
В первом случае параллельность передачи я отдаю на откуп системе (вот тут и под-вопрос, а грамотно ли Win распараллелит?), во втором - контролирую сам, + могу задействовать приоритетность передачи данных.
Попробовал поискать про различия FTP режимов. Или я не туда смотрю (подкиньте ссылку?), или их отличие только в порядке установления соединения по порту данных. В итоге - все равно получается 2 TCP соединения, и после их установления становится фиолетово от кого к кому оно устанавливалось.
← →
Anatoly Podgoretsky © (2009-04-25 11:29) [11]> kami (25.04.2009 1:02:10) [10]
Вообще интересует если дыры в передачи, например длительная обработка данных.
Без дыр один поток быстрее. FlashGet именно из этого исходит, забить дыры передачей.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.06.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c