Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> boost::asio - UDP Server Что, как, с чего начать? Множеству клиентов, раздавать один файл. 
V
    Опции темы
andrew_121
Дата 23.6.2008, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Есть задача: Множеству клиентов, раздавать один файл.
Предполагаю использовать boost::asio::ip::udp::socket.
Рассылаемый файл больше объема пакета. Файл будет разбиваться на блоки. Клиенты помимо UDP, подключаются по TCP для получения информации о файле: кол-во пакетов, ID пакетов, запрос определенного пакета.
Так же, нужно реализовать возможность, перехвата пакетов(которые являются частью одного и того же файла) передаваемыми для других программ клиентов, дабы снизить нагрузку на исходящий трафик программы Сервера.

С протоколом UDP не работал. Толком не представляю с чего начать.
По ходу общения буду задавать конкретные вопросы.
Давайте обсудим этот вопрос в слух.

Это сообщение отредактировал(а) andrew_121 - 23.6.2008, 05:28


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Lazin
Дата 23.6.2008, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 5
Всего: 154



В документации к библиотеке есть пример юдп клиента и сервера...

Цитата(andrew_121 @  23.6.2008,  03:07 Найти цитируемый пост)
Рассылаемый файл больше объема пакета. Файл будет разбиваться на блоки. Клиенты помимо UDP, подключаются по TCP для получения информации о файле: кол-во пакетов, ID пакетов, запрос определенного пакета.

Вопрос, а почему-бы не отправлять все по TCP? 
UDP не гарантирует что пакеты придут в том-же порядке, не гарантирует их целостность, в итоге ты реализуешь в своей программе функционал который предоставляет протокол TCP "из коробки", зачем?

Цитата(andrew_121 @  23.6.2008,  03:07 Найти цитируемый пост)
Так же, нужно реализовать возможность, перехвата пакетов(которые являются частью одного и того же файла) передаваемыми для других программ клиентов, дабы снизить нагрузку на исходящий трафик программы Сервера.

тут подробнее, кто передает, кто перехватывает... не очень понятно, и стоит ли оптимизировать здесь что-то...?
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 23.6.2008, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Lazin:
Цитата(Lazin @  23.6.2008,  07:55 Найти цитируемый пост)
UDP не гарантирует что пакеты придут в том-же порядке

И не надо. Пакеты записываются по мере поступления.
Цитата(Lazin @  23.6.2008,  07:55 Найти цитируемый пост)
не гарантирует их целостность

Для этого каждый пакет содержит контрольную сумму блока. И TCP, для запроса мертвого пакета.
Цитата(Lazin @  23.6.2008,  07:55 Найти цитируемый пост)
кто передает, кто перехватывает

Т.е. Клиент номер 1, получает файл 1.bin, клиент 2, позже начинает получать тот-же файл. Но по ходу получения пакетов которые он запрашивает, он перехватывает пакеты предназначавшиеся для 1-го клиента.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Lazin
Дата 23.6.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 5
Всего: 154



Цитата(andrew_121 @  23.6.2008,  09:18 Найти цитируемый пост)
Т.е. Клиент номер 1, получает файл 1.bin, клиент 2, позже начинает получать тот-же файл. Но по ходу получения пакетов которые он запрашивает, он перехватывает пакеты предназначавшиеся для 1-го клиента. 

перехватить UDP пакет не сложно, но вот программе разобраться, что это именно то, что ей нужно, намного сложнее... представь сколько у тебя будет этих пакетов smile 
проще, если клиент №1 будет сначала опрашивать клиента №2, потом №3 и тд.. на наличие файла(или нужной части файла), а потом уже просить сервер...
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 23.6.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(Lazin @  23.6.2008,  09:50 Найти цитируемый пост)
перехватить UDP пакет не сложно, но вот программе разобраться, что это именно то, что ей нужно, намного сложнее...

Для этого, пакет содержит всю необходимую информацию.

Цитата(Lazin @  23.6.2008,  09:50 Найти цитируемый пост)
проще, если клиент №1 будет сначала опрашивать клиента №2, потом №3 и тд.. на наличие файла(или нужной части файла), а потом уже просить сервер... 

Согласен. Но обмен между клиентами запрещен.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Lazin
Дата 23.6.2008, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 5
Всего: 154



Цитата(andrew_121 @  23.6.2008,  10:53 Найти цитируемый пост)
Для этого, пакет содержит всю необходимую информацию.

я имел ввиду что это сильно усложнит логику программы

Цитата(andrew_121 @  23.6.2008,  10:53 Найти цитируемый пост)
Согласен. Но обмен между клиентами запрещен.

а почему, если не секрет...
просто если делать так как ты говоришь, то получается что-то не то..
допустим у нас N клиентов, каждый из них получает М пакетов в секунду, тогда каждый клиент должен обрабатывать N * М пакетов, тоесть всего в системе будет обрабатываться N^2 * М пакетов в единицу времени...
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 23.6.2008, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(Lazin @  23.6.2008,  11:17 Найти цитируемый пост)
а почему, если не секрет...

Клиенты сети платят за трафик.

Интересно.
А есть ли возможность, при обмене между клиентами, регистрировать обьем переданной информации от Клиента1 к Клиенту2 ?
Для информирования сервера. Ну чтоб он знал, реально полученный обьем клиентом. Даже если часть обьема получена от обмена между клиентами?


Это сообщение отредактировал(а) andrew_121 - 24.6.2008, 20:34


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
bsa
Дата 23.6.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Цитата(andrew_121 @ 23.6.2008,  11:26)
А есть ли возможность, при обмене между клиентами, регистрировать обьем переданной информации от Клиента1 к Клиенту2 ?
Для информирования сервера. Ну чтоб он знал, реально полученный обьем клиентом. Даже если часть обьема получена от обмена между клиентами?

А кто мешает? Пусть клиенты, когда обращаются за файлами к серверу, сообщают ему, кто, когда и сколько скачал с них.
PM   Вверх
andrew_121
Дата 23.6.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



С принципом определился.
Как правильно разложить задачу по этапам?
С чего начать реализацию?
Что посоветуете почитать?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(bsa @  23.6.2008,  14:36 Найти цитируемый пост)
А кто мешает? Пусть клиенты, когда обращаются за файлами к серверу, сообщают ему, кто, когда и сколько скачал с них. 

Интересовался - НЕЛЬЗЯ!
Обьясните плз.
Каким образом клиент и сервер заставить общаться?
В примерах boost::asio несколько вариантов сервера. Какой использовать? В чем разница?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 24.6.2008, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  23.6.2008,  09:18 Найти цитируемый пост)
Но по ходу получения пакетов которые он запрашивает, он перехватывает пакеты предназначавшиеся для 1-го клиента. 

это невозможно
каждый клиент определяется уникальной парой {IP, порт}
достаточно на стороне сервера для каждого клиента реализовать отображение {IP, порт} -> смещение
где смещение определяет текущую позицию в передаваемом файле


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



MAKCim - Пакеты передаются по UDP, а контроль по TCP.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 24.6.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



andrew_121, 
и что?



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



MAKCim - Блин... А что-то не то говорю?
Ну объясни. Я насколько понимаю, один UDP пакет, могут поймать все клиенты, и по информации в нем, определить, свой-чужой.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 24.6.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  24.6.2008,  21:38 Найти цитируемый пост)
один UDP пакет, могут поймать все клиенты

нет
клиенты сидят на разных портах


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(MAKCim @  24.6.2008,  21:56 Найти цитируемый пост)
клиенты сидят на разных портах

А я что не могу их настроить на один порт?!

Это сообщение отредактировал(а) andrew_121 - 24.6.2008, 22:06


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 24.6.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  24.6.2008,  22:04 Найти цитируемый пост)
А я что не могу их настроить на один порт?!

нет
пара {IP, порт} уникальна
если IP = const, то порты должны быть различными
если порт = const, IP адреса должны быть различными


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



А каким образом можно послать пакет таким образом, чтоб его поймали все, и по информации в заголовке определи свой-чужой?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
pan2004
Дата 24.6.2008, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: нет
Всего: 9



Цитата(andrew_121 @  24.6.2008,  13:04 Найти цитируемый пост)
Каким образом клиент и сервер заставить общаться?В примерах boost::asio несколько вариантов сервера. Какой использовать? В чем разница?

Ну в примерах показаны разные способы организации сервера:
1. С одним объектом asio::io_service и соответственно с одним потоком, который обслуживает сразу несколько соединений(сокетов)
2. принцип "один сокет - один поток - один asio::io_service"
3. еще чтото...
В принципе, никто не запрещает комбинировать эти варианты...

Добавлено через 2 минуты и 13 секунд
Цитата(andrew_121 @  24.6.2008,  22:20 Найти цитируемый пост)
А каким образом можно послать пакет таким образом, чтоб его поймали все, и по информации в заголовке определи свой-чужой?

Вроде как говорил что надо экономить трафик?
Хз как таким путем он будет экономится...
А так - это слишком сильно напоминает мне eMule и ему подобные программы


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
MAKCim
Дата 24.6.2008, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  24.6.2008,  22:20 Найти цитируемый пост)
А каким образом можно послать пакет таким образом, чтоб его поймали все, и по информации в заголовке определи свой-чужой? 

для начала определимся: где находятся клиенты? (на локальном узле, в локальной сети или в глобальной сети) 
во вторых, зачем усложнять себе жизнь? или условие задачи состоит в том, чтобы использовать комбинацию TCP + UDP?

Это сообщение отредактировал(а) MAKCim - 24.6.2008, 22:33


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



pan2004
Цитата

Вроде как говорил что надо экономить трафик?

Исходящий трафик сервера. Если один пакет получат сразу несколько клиентов, то исходящий трафик сервера меньше.
MAKCim - По миру.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 24.6.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  24.6.2008,  22:38 Найти цитируемый пост)
По миру. 

тогда единственная возможность это многоадресная передача в глобальной сети
но эта возможность скорее теоретическая

вот скажи, почему бы просто не воспользоваться TCP для взаимодействия с клиентами?  smile 
самый простой и эффективный вариант


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 24.6.2008, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(MAKCim @  24.6.2008,  22:48 Найти цитируемый пост)
тогда единственная возможность это многоадресная передача в глобальной сети
но эта возможность скорее теоретическая

В смысле?

Цитата(MAKCim @  24.6.2008,  22:48 Найти цитируемый пост)
вот скажи, почему бы просто не воспользоваться TCP для взаимодействия с клиентами?  smile 

Потому что я при выборе протокола, гдето вычитал, что датаграмму и UDP пакет могут получить несколько клиентов. И в соответствии с информацией в тобой созданном заголовке, решить: свой-чужой.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
andrew_121
Дата 25.6.2008, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33





--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 25.6.2008, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  24.6.2008,  22:56 Найти цитируемый пост)
В смысле?

в том смысле, что все маршрутизаторы, через которые проходит пакет, должны быть маршрутизаторами многоадресной передачи
тут

Цитата(andrew_121 @  24.6.2008,  22:56 Найти цитируемый пост)
Потому что я при выборе протокола, гдето вычитал, что датаграмму и UDP пакет могут получить несколько клиентов

ага
и какой же адрес ты будешь указывать при отправке пакета?  smile 

Это сообщение отредактировал(а) MAKCim - 25.6.2008, 09:33


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Lazin
Дата 25.6.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 5
Всего: 154



Цитата(andrew_121 @  24.6.2008,  22:38 Найти цитируемый пост)
MAKCim - По миру


Цитата(andrew_121 @  23.6.2008,  09:18 Найти цитируемый пост)
Т.е. Клиент номер 1, получает файл 1.bin, клиент 2, позже начинает получать тот-же файл. Но по ходу получения пакетов которые он запрашивает, он перехватывает пакеты предназначавшиеся для 1-го клиента. 


и почему я подумал, что у тебя все клиенты на одной машине smile 
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 25.6.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Да, не эрудирован.
Помогите разобраться.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
andrew_121
Дата 25.6.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



MAKCim, Вот то что мне нужно!!! smile 
Как мне его заюзать? С чего начать?


Это сообщение отредактировал(а) andrew_121 - 25.6.2008, 13:58


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 25.6.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  25.6.2008,  13:31 Найти цитируемый пост)
MAKCim, Вот то что мне нужно!!! 

"то" это что?
многоадресная передача?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 25.6.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



MAKCim, Ну ДА. А что не так?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 25.6.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207





--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
MAKCim
Дата 26.6.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



можно построить виртуальную многоадресную сеть MBone
если нужно, распишу подробнее
суть в том, что сервер передает пакет один раз, а его доставка всем клиентам осуществляется самими клиентами


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 21.7.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Я вернулся. Ездил по делам.
Что там по поводу - "MBone". Расскажи плиз по подробнее...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 22.7.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 2
Всего: 91



Вы второй DirectConnect или Torrent придумываете ?

Насчет MBone. Могу себе такое представить, пользователь докачал фильм, отключился не успев передать остальные куски дальше по-цепочке и все встало.

В некоторых системах используют еще такую фишку - кешируют популярные чанки (куски) на клиентских тачках, которые не запрашивали даже эти куски. Например вышел фильм "Особо Опасен", его начало тянуть большое количество человек, сервачек заставляет всех подключенных клиентов выкачивать кусочки этого фильма, несмотря на то, что клиентам он не нужен, но тем самым начинают "плодиться" альтернативные источники. В итоге ты будешь лить фильм уже не с одного сервера, а с 20-30 компов.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 22.7.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(SABROG @  22.7.2008,  10:56 Найти цитируемый пост)
Например вышел фильм "Особо Опасен", его начало тянуть большое количество человек, сервачек заставляет всех подключенных клиентов выкачивать кусочки этого фильма, несмотря на то, что клиентам он не нужен, но тем самым начинают "плодиться" альтернативные источники. В итоге ты будешь лить фильм уже не с одного сервера, а с 20-30 компов.

Да, это прекрасная мысль, я это понимаю. Но одно из условий: Между клиентами не должно быть ни какого обмена.(Не байта)
Вот и мучкаюсь.
Может есть какие нибудь мысли? Поделитесь...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 22.7.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 2
Всего: 91



Тут есть проблемка тогда. Если брать мультикастинг или броадкастинг, то это работает только внутри одного хаба/маршрутизатора. У меня дома вообще получается, что в этот сегмент попадает только 4-5 компьютеров моего подъезда, т.е. те что висят со мной на одном хабе. По этой же причине сниффер может ловить только траффик с этих компьютеров (это если не юзать ARP Poisoning).

Отсюда могу сделать заключение, что при текущих условиях твоя задача выполнима частично.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 22.7.2008, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Нужно по миру!
Ну не уж то нет какого нить выхода?!!!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 22.7.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 2
Всего: 91



Цитата(andrew_121 @ 22.7.2008,  13:55)
Нужно по миру!
Ну не уж то нет какого нить выхода?!!!

Sourceforge использует mirrors (зеркала), чтобы снизить нагрузку,
Blizzard использует torrent для снижения нагрузки при раздаче файлов.

Велосипеда не получится.



--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 22.7.2008, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



SABROG Гм... Что же сделать? А что можешь рассказать про MBone ?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 22.7.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 2
Всего: 91



Цитата(andrew_121 @ 22.7.2008,  15:50)
SABROG Гм... Что же сделать? А что можешь рассказать про MBone ?

Вот тут немного есть http://book.itep.ru/4/44/igmp_449.htm

Опять же эта технология скорее всего будет работать только для тех у кого есть реальный IP адрес. А если целыми домашними сетями с одного IP сидит народ то какой смыл.

А UDP обычно используют потому, что он обеспечивает быстрое установление соединения и потеря пакетов практически никак не отразится на музыке или видео. Т.ч. смысла использовать для передачи файлов не вижу.



Это сообщение отредактировал(а) SABROG - 22.7.2008, 17:32


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 23.7.2008, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Ну не уж-то нет возможности реализовать это нормальными средствами?
Должен же быть какой-то стандартный протокол. Не может быть чтоб мне единственному это понадобилось !!!


Это сообщение отредактировал(а) andrew_121 - 23.7.2008, 09:26


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 23.7.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 2
Всего: 91



Все реализовывают, но опять же, кто ? VLC - video lan client, потоковое вещание, где потеря пакетов не смертельна, ну подумаеш выпадет 1 из 24 кадров в секунду, ты даже этого не заметишь.

Все что касается IGMP будет работать только в том случае, если оборудование провайдера как сервера, так и всех его клиентов будет позволять подписку на мультикастинг. Это проблема именно железа.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
MAKCim
Дата 16.8.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(SABROG @  22.7.2008,  10:56 Найти цитируемый пост)
Насчет MBone. Могу себе такое представить, пользователь докачал фильм, отключился не успев передать остальные куски дальше по-цепочке и все встало.

тогда идет передача целевого IP адреса клиенту, от которого был получен кусок данных для данного клиента
сам же он успешно выходит из сети


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Олег2005
Дата 21.8.2008, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Цитата(andrew_121 @  24.6.2008,  21:20 Найти цитируемый пост)
А каким образом можно послать пакет таким образом, чтоб его поймали все, и по информации в заголовке определи свой-чужой? 

Надо слать пакеты бродкастом - если они все внутри одной подсети.
PM MAIL WWW MSN   Вверх
andrew_121
Дата 23.8.2008, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(Олег2005 @  21.8.2008,  15:01 Найти цитируемый пост)
Надо слать пакеты бродкастом - если они все внутри одной подсети.

Это понятно. Но нужно по миру. хз что делать...............


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Олег2005
Дата 23.8.2008, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Цитата(andrew_121 @  23.8.2008,  02:45 Найти цитируемый пост)
хз что делать............... 

Вариантов - нет. Тогда только по списку.
PM MAIL WWW MSN   Вверх
MAKCim
Дата 23.8.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(andrew_121 @  23.8.2008,  03:45 Найти цитируемый пост)
Но нужно по миру. хз что делать............... 

использовать принцип Mbone
на каждом клиенте запускаем демон, который открывает 2 порта
первый порт используется для получения пакета инициализации со списком (в бинарном виде) IP адресов узлов сети
второй порт используется непосредственно для передачи пакетов
задача демона - передать данные клиенту на этом узле и диспетчерезировать их дальше по цепочке следующему узлу, на котором работает этот же демон
если он аварийно завершается до того как пакет будет доставлен, ядро сгенерирует ICMP пакет, по которому можно определить факт завершения и перейти к следующему узлу цепочки
если пакет получен, осуществляется передача пакета дальше
после успешной отправки идет передача пакета подтверждения отправки на узел-родитель
если демон не получил подтверждения в течении определенного таймаута (вычисляется) выбирается очередной узел из списка
если демон завершает работу не аварийно, идет передача пакета диспетчерезации на первый порт узла-родителя
при следующей передаче будет использован следующий IP адрес


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 25.8.2008, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



MAKCim, Приогромное спасибо smile 
Осталось только ТЗ изменить. Согласятся ли...???


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
semibug
Дата 4.6.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



andrew_121, позвольте вопрос. UDP выбран для того, чтобы иметь возможность одним пакетом "кормить" сразу несколько клиентов? (т.е. в целях экономии трафика?)
PM   Вверх
andrew_121
Дата 6.6.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



semibug, Да. Но идея умерла так и не родившись. Читайте выше...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0980 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.