Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как отправить данные одновременно по Ethernet на два ПК
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
bureau
Есть три компа. #1, #2, #3.
Возможно ли каким-то образом с компа #1 отправить по Ethernet пакет данных на комп #2 и #3. Так что б с компа #1 выходил только один пакет данных (в смысле не дублировался для соединений с компом #2 и #3)

Пока в голове крутится только идея создать два соединения между #1--#2 и #1--#3. Но как мне кажется это будет дополнительная нагрузка на CPU.

Может кто знает знает какие-то иные возможности как можно организовать это дело без дополнительной нагрузки на CPU?
_Артём_
Цитата(bureau @ Jul 6 2012, 20:22) *
Пока в голове крутится только идея создать два соединения между #1--#2 и #1--#3. Но как мне кажется это будет дополнительная нагрузка на CPU.

Возможно можно использовать широковещательные протоколы. Было вроде что-то такое...


Цитата(bureau @ Jul 6 2012, 20:22) *
Может кто знает знает какие-то иные возможности как можно организовать это дело без дополнительной нагрузки на CPU?

Какая ж это нагрузка в наше время - лишний пакет послать?
iosifk
Цитата(bureau @ Jul 6 2012, 21:22) *
Есть три компа. #1, #2, #3.
Возможно ли каким-то образом с компа #1 отправить по Ethernet пакет данных на комп #2 и #3. Так что б с компа #1 выходил только один пакет данных (в смысле не дублировался для соединений с компом #2 и #3)

Пока в голове крутится только идея создать два соединения между #1--#2 и #1--#3. Но как мне кажется это будет дополнительная нагрузка на CPU.

Может кто знает знает какие-то иные возможности как можно организовать это дело без дополнительной нагрузки на CPU?

Поставить управляемый свмтч. И ему сказать, чтобы он зеркалил траффик с порта 1 ра 3...
bureau
Цитата(_Артём_ @ Jul 6 2012, 19:40) *
Какая ж это нагрузка в наше время - лишний пакет послать?

Ну когда ты отсылаешь по 1кб данные, и требуется вызывать функцию send() с частотой около 5кГц... То чувствуется что данные неуспевают отправляться, в то время как в буфере уже есть новые данные, готовые к отправке... И так в один момент буфер переполняется и данные теряются...

Цитата(iosifk @ Jul 6 2012, 19:55) *
Поставить управляемый свмтч. И ему сказать, чтобы он зеркалил траффик с порта 1 ра 3...

А как это будет выглядет со стороны программирования? Нужно ли будет создавать два соединения?
Палыч
Цитата(bureau @ Jul 6 2012, 21:22) *
Может кто знает знает какие-то иные возможности как можно организовать это дело без дополнительной нагрузки на CPU?

Называется это - "групповая передача" (multicast), использует протокол IGMP.
Konst_777
Цитата(Палыч @ Jul 7 2012, 16:28) *
Называется это - "групповая передача" (multicast), использует протокол IGMP.

Либо, как предлагал _Артём_: использовать протокол UDP и широковещательную передачу.
iosifk
Цитата(bureau @ Jul 7 2012, 16:56) *
А как это будет выглядет со стороны программирования? Нужно ли будет создавать два соединения?

В свитч один раз по включению, записываются настройки. Или эти настройки записываются во флэшку, подключенную к свитчу... И он при включении сам с нее грузится...
Или, как сказали выше, надо сделать групповую передачу...
testerov
Да, это групповой протокол (multicas). В этой ссылке вы можете увидеть хорошее объяснение.

http://tldp.org/HOWTO/Multicast-HOWTO.html
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.