Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

UDP   Найти похожие ветки 

 
Footballer   (2008-04-09 11:19) [0]

Доброго времени суток.
Как можно с компьютера-клиента отослать TStream на сервер, а с него ко всем клиентам по протоколу UDP? Проблема в том, что у компонента TIdUDPClient нет метода ClientRead (или как его там?).
Спасибо.


 
clickmaker ©   (2008-04-09 11:23) [1]

значит, клиент должен стать сервером
а какая задача-то в общем?


 
Footballer   (2008-04-09 11:28) [2]

Я пишу программу для голосового общения по сети. А нужно отправлять заполненные буферы. С использованием TClientSocket всё нормально, но иногда прога зависает. Может быть на всех клиентах поставить по IdUDPServer"у? Я правильно думаю?


 
Сергей М. ©   (2008-04-09 11:30) [3]


> Footballer   (09.04.08 11:19)


Ты в курсе, что UDP - протокол без гарантии доставки ?


 
clickmaker ©   (2008-04-09 11:37) [4]


> [2] Footballer   (09.04.08 11:28)

так может, поразбираться в причине зависания?


 
Footballer   (2008-04-09 11:40) [5]

Ну. во-первых, все подобные проги пересылают по UDP. (это точно, т.к. в настройках спашивают UDP порт).
Во-вторых, UDP протокол не проверяет, дошли ли отправленные байты до получателя.
Получается, UDP работает быстрее. Именно для голосового общения, так как всё равно будет прекрасно слышно если "немного байтов не дойдет"...


 
Footballer   (2008-04-09 11:41) [6]

>Сергей М. ©   (09.04.08 11:30) [3]
См. [5] =)


 
Сергей М. ©   (2008-04-09 11:44) [7]


> все подобные проги пересылают по UDP


Не трынди, далеко не все.


> UDP протокол не проверяет, дошли ли отправленные байты до
> получателя ..UDP работает быстрее


Да.


> будет прекрасно слышно если "немного байтов не дойдет"


Они могут дойти и все, но в неоригинальном порядке следования.
Этот факт твой прикладной протокол учитывает ?


 
Footballer   (2008-04-09 11:49) [8]

>Сергей М. ©   (09.04.08 11:44) [7]
Не учитывает, но всё равно вероятность неоригинального порядка, имхо, мала. Тем более в сети с хорошим качеством соединния.


 
Сергей М. ©   (2008-04-09 11:52) [9]


> в сети с хорошим качеством соединния


Т.е. ты предполагаешь, что твоя программа будет работать в пределах высокопроизводительной односегментной ЛВС ?


 
Сергей М. ©   (2008-04-09 11:54) [10]


> нет метода ClientRead (или как его там?)


Зато есть ReceiveBuffer и ReceiveString


 
Footballer   (2008-04-09 13:57) [11]

Но как его отловить-то???=)
Ну ладно, всем спасибо. Особенно [clickmaker ©   (09.04.08 11:23) [1]]!
Я всё понял, тема закрыта.


 
Сергей М. ©   (2008-04-09 14:01) [12]


> как его отловить-то?


Кого ?!


 
Anatoly Podgoretsky ©   (2008-04-09 16:00) [13]

> Footballer  (09.04.2008 11:40:05)  [5]

Раз для голосового общения, то надо смотреть не в сторону UDP, а multicast


 
Anatoly Podgoretsky ©   (2008-04-09 16:01) [14]

> Footballer  (09.04.2008 11:49:08)  [8]

Не понял, ты что сначала накапливаешь весь текст потом его передаешь, иначе вероятность очень высока.


 
Anatoly Podgoretsky ©   (2008-04-09 16:02) [15]

> Сергей М.  (09.04.2008 11:52:09)  [9]

А это тоже не спасение, если есть свичи.


 
Сергей М. ©   (2008-04-10 09:10) [16]


> Anatoly Podgoretsky ©   (09.04.08 16:02) [15]


> это тоже не спасение, если есть свичи


Полностью согласен.
Вся надежда на "умный" прикладной протокол.



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
2-1208175929
Антон Вл.
2008-04-14 16:25
2008.05.11
Сортировка


2-1208111337
assassin8899
2008-04-13 22:28
2008.05.11
Множественный выбор


11-1188820984
Max727
2007-09-03 16:03
2008.05.11
KOLmdvXLGrid


15-1206715335
PHP
2008-03-28 17:42
2008.05.11
не открываются файлы с расширением PHP


2-1207896329
Guriev
2008-04-11 10:45
2008.05.11
Как прописать "пробел" при нажатии на Enter?