|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2012, 06:49 | #1 |
Форумчанин
Регистрация: 10.11.2010
Сообщений: 569
|
Как работает торрент?
Интересует, как торрент-клиент определяет, сколько соединений ему открывать для скачивания файла? Ну то есть (пример), на роздаче 1000 людей, когда клиент качает, он соединяеться сразу с несколькими людьми, не со всеми же, как он определяет, со сколькими ему надо соединиться, для максимальной скорости? Или вообще, можете чуть-чуть описать этот момент, кто знает, ии ссылку, а то чёт не могу найти.
И второе торрент использует асинхронные или блокируемые сокеты?
Это ещё не конец и даже не начало конца, это возможно только конец начала.
Последний раз редактировалось pufystyj; 15.11.2012 в 06:58. |
15.11.2012, 09:18 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Все это детали реализации. Многое настраивается в опциях клиентов.
|
15.11.2012, 13:44 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Универсального алгоритма определить нужное количество соединений нет и быть не может, потому что скорость зависит не только от количества соединений, но и от характеристик *принимающей* стороны. Разные клиенты гадают по разному.
|
15.11.2012, 14:46 | #4 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
TC, вам стоит почитать статью "Кодим BitTorrent-клиент" Игоря Антонова. Находится в первых строках поисковика. Думаю, многие вопросы отпадут.
=============== Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
15.11.2012, 15:59 | #5 |
Форумчанин
Регистрация: 10.11.2010
Сообщений: 569
|
Ясно, ну я как раз спрашивал об этой характеристке принимащей сторона.
За статью спасибо. За исправления тоже, видел читал, посмотрел (пару месяцев назад) свои предыдущие темы, понял что за бред я писал и оставил это, как напоминание, что бредить не надо.
Это ещё не конец и даже не начало конца, это возможно только конец начала.
|
17.11.2012, 06:55 | #6 |
Форумчанин
Регистрация: 10.11.2010
Сообщений: 569
|
В даной статье дано максимальное кол-во соединений 100, если это делать блокируемыми сокетами - 100 потоков будут очень грузить комп, потому надо это делать через ассинхронные сокеты, не так ли? Или я ошибась и асинхронные будут больше комп грузить. А где почитать о асинхронных сокетах? ЗАрание спасибо.
Это ещё не конец и даже не начало конца, это возможно только конец начала.
|
17.11.2012, 12:20 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Читайте документацию к функции select()
|
18.11.2012, 04:02 | #8 |
Форумчанин
Регистрация: 10.11.2010
Сообщений: 569
|
Вы имеете ввиду функцию WSAAsyncSelect()?
Или вот эта http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx -? Ага... почитал,как я понима для винды нужно WSAEventSelect() Кстати ещё нашёл книгу «Программирование в сетях Microsoft Windows» .
Это ещё не конец и даже не начало конца, это возможно только конец начала.
Последний раз редактировалось pufystyj; 18.11.2012 в 04:28. |
18.11.2012, 12:00 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Конечно, можно использовать любую из них но для WSAEventSelect вам понадобится по одному потоку на каждые 64 сокета а WSAAsyncSelect требует HWND.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Торрент клиент | pbt | Софт | 14 | 28.02.2015 21:09 |
Торрент | SkrudjMakdak | Софт | 2 | 14.06.2012 11:46 |
как написать открытый торрент трекер с нуля на php | roulis2844sasha | PHP | 0 | 25.03.2012 12:59 |
Торрент | Бубликова | Софт | 13 | 24.01.2009 00:06 |