Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

Передача файла   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-33738
Фомин
2003-08-25 01:16
2003.09.11
Чтение файла


6-33699
ALaKO
2003-07-07 10:48
2003.09.11
Tembededwb


7-33823
Zilog
2003-06-16 14:31
2003.09.11
Как можно организовать передачу данных по паре?


4-33849
Androw2
2003-07-09 21:52
2003.09.11
Как сэмулировать натаскивание файла на программу?


1-33535
DDS
2003-09-01 17:39
2003.09.11
Как сохранить WORDовский файл с картинкой внутри?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский