Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача файла на множество компов на IndyUDP [D7]


Страницы:   1 2

Dstr ©   (2006-07-05 15:03:00) 

Привет всем!
Извените,если вопрос был на этом форуме,я пишу чат и я решил прибамбить возможность вставки картинок и видео в окно чата.Проблема-как передадать файл побыстрее на компов 20.Возможно какимто образом клиенты должны сами слить файл...
Может есть способ слать дайтограмы на 255.255.255.255,те броадкастом...
Вобщем чат сампосебе UDP,но ничего страшного ни будет если занять исче 1 порт чисто под передачу файлов...
Посоветуйте плз как лучше...


Slym   (2006-07-07 10:58:00) [1]

Ситуация...
Чат, UDP, 100 юзеров с аватарами и прочим медиа контентом...
входит еще юзер... и просит Give me some pictures бродкастом :)
и все 100 юзеров тебе свои аватары пошлют...
с твоим подходом к приему/отправке в лучшем случае ты получишь свиноморды намешаных аватаров...

Я делал бы так:
Сообщение с картинкой:
<img href="192.168.1.2:123\avatar.gif">Мой аватар</img> Привет всем вот <img href="192.168.1.2:123\girl.jpg">фотка моей девушки</img>

где 192.168.1.2:123 - IP:порт клиента с открытым TCP портом
все остальные по мере необходимости будут конектится и получать контент


Ketmar   (2006-07-07 01:16:00) [2]

и опять: пардон за опечатки...


Ketmar   (2006-07-07 01:06:00) [3]

таки вдогон (Кэтмар улыбается): кисо хотя бы в анкету глянуло... %-)


Ketmar   (2006-07-07 00:55:00) [4]

>Dstr ©   (06.07.06 23:07) [22]
я прочитал. можешь расслабиться. полегчало?

зыж 2модератор(ы): извиняюсь. не мог не поучавствовать -- уж очень настроение поднимает.

ззыж размножение делением процветает... %-(


Dstr   (2006-07-06 23:07:00) [5]

Удалено модератором
Примечание: Отдохни от форума, почитай правила


Dstr   (2006-07-06 22:55:00) [6]

Удалено модератором


Ketmar   (2006-07-06 21:31:00) [7]

>Dstr ©   (06.07.06 20:50) [19]
вам, неуважаемый, объяснять что-либо бессмысленно. ввиду вашей полной некомпетентности в обсуждаемом вопросе и вопиющей наглости. а также сильных проблем с "русская языка, которая велика и могуча".

прежде чем писать суждения "космического масштаба и космической же глупости" (ц), извольте хотя бы выучить язык, на котором пытаетесь общаться.


Dstr   (2006-07-06 20:50:00) [8]

Удалено модератором


Ketmar   (2006-07-06 20:36:00) [9]

>Eraser ©   (06.07.06 19:06) [16]
я это уже говорил. великие знатоки меня послали. щаз и тебя пошлют туда же. оставь ты их, пусть живут на своём Олимпе. нам, смертным, быть там не пристало.


Dstr   (2006-07-06 19:40:00) [10]

Мне хоть какнибуть научиться слать файлы для начала...
Ты скажи ошибку в листинге плз...


Eraser   (2006-07-06 19:06:00) [11]

> Передача файла на множество компов на IndyUDP

это приведет к тому, что прийдется изобретать некое подобие TCP, оно тебе надо?


Dstr   (2006-07-06 19:03:00) [12]

Удалено модератором


Ketmar   (2006-07-05 23:59:00) [13]

>Dstr ©   (05.07.06 22:31) [13]
ухожу. перестаю смешить великих знатоков. мудрствуйте дальше в своём высоком кругу.


Dstr   (2006-07-05 22:31:00) [14]


> >Dstr ©   (05.07.06 21:08) [10]
> "вряд ли" -- это не то же самое, что "наверняка".


В локальной 100мбит ной сети?Не смеши людей,исчо за всю историю юзания UDPшных чатов(лет 5 назад батя кинул сетку,вначале разумеется была исчо коансиальной - 10мбит)-ни разу ничего неслагнуло,только программые части.

2umbra ЕМОЕ тока заметил AData: TStream в параметрах UDPRead!
Думаю все должно получится,спб,если чего,исчо напишу...


Ketmar   (2006-07-05 22:16:00) [15]

>Dstr ©   (05.07.06 21:08) [10]
"вряд ли" -- это не то же самое, что "наверняка".


umbra   (2006-07-05 21:15:00) [16]

Обозначаете, что начинается передача файла. создаете TFileStreamдля картинки, читаете из него порциями  в буфер и отсылаете с помощью TIdUDPClient.SendBuffer. Приемник записывает полученное в файл. После последней порции обозначаете, что файл закончился.


Dstr   (2006-07-05 21:08:00) [17]

Я понимаю что надо слать файл по кусочкам - датаграммам,чат локальный - поэтому пакеты врядли потеряются.Позже он всеравно будет поддерживать и TCP,но позже...


Ketmar   (2006-07-05 20:52:00) [18]

таки разбиваем на кусочки и кидаем в сеть. пакет -- кусочек. пакет -- кусочек. параллельно реализуем протокол синхронизации (то, что до нас уже сделали в TCP), иначе при потере пакета будет больно и обидно. т.е. делаем заново протокол TCP. оно надо?


Dstr   (2006-07-05 20:12:00) [19]

Я вообще не знаю как слать файлы.Искал искал...Так и не нашел...


umbra   (2006-07-05 20:00:00) [20]


> Как переслать файл на 255.255.255.255?

Точно так же, как и на любой другой адрес.
Что Вы сделали и что не получается?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо