Текущий архив: 2003.09.11;
Скачать: CL | DM;
ВнизПередача файла Найти похожие ветки
← →
seemann (2003-07-07 00:17) [0]Помогите решить проблему. У меня есть функция, которая постоянно записывает звук в поток мне нужно как можно быстрее передавать этот поток всем пользователям в сети, желательно не отправляя его сначала на сервер.
← →
Digitman (2003-07-07 09:05) [1]
> Помогите решить проблему
А в чем, собственно, проблема-то ?
← →
seemann (2003-07-07 13:02) [2]
> А в чем, собственно, проблема-то ?
А проблема в том, что нужно передать поток всем пользователям, не передавая его на сервер. Я так понял, что сокеты не подойдут для решения этой проблемы. Поэтому подскажите пожалуйста другой способ.
← →
Digitman (2003-07-07 13:20) [3]
> проблема в том, что нужно передать поток всем пользователям
разве это ПРОБЛЕМА ? это - ПОСТАНОВКА ЗАДАЧИ ! в ходе решения которой, возможно, возникает некая проблема)
> сокеты не подойдут для решения этой проблемы
на основании чего ты сделал это умозаключение ?
использование протокола UDP дает возможность реализовать бродкастинг (широковещательная рассылка)
есть и соответствующие гнездовые компоненты, которые создают и инициализируют гнезда, предназначенные для работы под протоколом UDP
см., например, TNMUDP в составе закладки FastNet
← →
seemann (2003-07-08 00:18) [4]На этот раз ситуацию можно назвать проблемной. Я использую UDP (как посоветовали). Пишу:
NMUDP.SendStream(ms);
В результате ошибка адреса памяти (access violation). Подскажите что не так или дайте ссылку на документацию по использованию данного компонента.
← →
Digitman (2003-07-08 08:28) [5]протокол udp имеет ограниченный размер отправляемого-принимаемого пакетного сообщения.
попытка передать поток, размер которого превышает установленный для udp-гнезда размер сообщения, как раз и вызывает в этом компоненте такое исключение.
размер udp-сообщения можно изменить, но этот размер все равно ограничен, поэтому следует разбивать поток на несколько потоков, размер каждого из которых не превышает установленного размера сообщения
читай http://book.itep.ru "Протокол UDP"
← →
seemann (2003-07-09 00:53) [6]И всё же есть функция, которая постоянно записывает звук (функция callback), мне нужно передавать этот звук(размером приблизительно 50 килобайт) на удалённый компьютер. Тоесть нужно отправлять поток розмером 50Kb за один такт. Можно ли это осуществить?
← →
Digitman (2003-07-09 08:50) [7]
> нужно отправлять поток розмером 50Kb за один такт
что есть "за один такт" ? ни в протоколе UDP ни в Winsock нет понятия "такт".
в UDP есть понятие "сообщение" - блок данных фиксированного размера. блок отправляется вызовом sendto(), принимается recvfrom()
← →
Snap (2003-07-10 20:46) [8]более того удп реализует максималную совместимость с протоколом интернета а в интернете как ты наверное знаешь болшие пакеты передавать нелзя. если бы все пересылали друг другу пакеты размера которого они сами захотят, то болшинство машин просто были не в состоянии что то передать так как трафик был ба забит пакетами 2-3 трех счастливчиков которые успели так сказать занать позиции.
← →
Snap (2003-07-10 20:48) [9]к слову. Будет лучше и надёжнее если каждый твой юдп пакет не будет превышать полтора килобайт.
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.009 c