crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> boost::asio - UDP Server Что, как, с чего начать?, Множеству клиентов, раздавать один файл.
niXman
  опции профиля:
сообщение 24.6.2008, 20:36
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


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

С протоколом UDP не работал. Толком не представляю с чего начать.
По ходу общения буду задавать конкретные вопросы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 25.6.2008, 8:13
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Не понятно зачем ты выбрал для передачи файла UDP протокол!?
Ведь, для того, что в конце концов быть уверенным в том, что ты получил весь файл тебе нужно будет писать свой протокол - обертку над UDP. :)
Думаю, что лучше всего в данном случае подходит именно TCP, так как только он гарантирует доставку и целостность данных, UDP же этого не гарантирует, потому он и быстрей.

Цитата(niXman @ 24.6.2008, 21:36) *
Так же, нужно реализовать возможность, перехвата пакетов(которые являются частью одного и того же файла) передаваемыми для других программ клиентов, дабы снизить нагрузку на исходящий трафик программы Сервера.
Может лучше сделать так, чтобы клиентские программы сами отправляли кому нужно эти даныые, например как в торенте?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 25.6.2008, 8:45
Сообщение #3


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


ViGOur, согласен, я хоть и не очень хорошо в этом разбираюсь, но тоже думаю что потоки лучше пакетной передачи данных. Например тем, что поточные сокеты (TCP) работают в обоих направлениях, и у них есть дополнительные механизмы против искажения и потери данных.
Еще глянь примеры из examples\network\

Сообщение отредактировал void* - 25.6.2008, 8:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 25.6.2008, 13:20
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(ViGOur @ 25.6.2008, 9:13) *
Может лучше сделать так, чтобы клиентские программы сами отправляли кому нужно эти даныые, например как в торенте?

Я тоже так хотел. И библиотека для этого есть. Но, в ТЗ, это категорически запрещено!

void*, Уже смотрел. Единственная мысль, удовлетворяющая условие - Реализовать свой протокол на основе IGMP.
http://ru.wikipedia.org/wiki/IGMP
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Cherry123
  опции профиля:
сообщение 18.3.2009, 11:06
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 18.3.2009
Пользователь №: 623

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(niXman @ 25.6.2008, 13:20) *
Цитата(ViGOur @ 25.6.2008, 9:13) *
Может лучше сделать так, чтобы клиентские программы сами отправляли кому нужно эти даныые, например как в торенте?

Я тоже так хотел. И библиотека для этого есть. Но, в ТЗ, это категорически запрещено!

void*, Уже смотрел. Единственная мысль, удовлетворяющая условие - Реализовать свой протокол на основе IGMP.
http://ru.wikipedia.org/wiki/IGMP


Вопрос а автору: как дела, получилось что-нибудь с множественной рассылкой? Хотел отправить личное сообщение, но мне почему-то запрещено.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 18.3.2009, 11:30
Сообщение #6


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(Cherry123 @ 18.3.2009, 11:06) *
Хотел отправить личное сообщение, но мне почему-то запрещено.
Новичкам отправка личных сообщений запрещено. Борьба со спамом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 12.4.2009, 13:39
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Cherry123, Кароче ЖОПА. ТЗ отправили на доработку. Походу, проект тупиковый )))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 15:19