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

Вниз

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

 
OneFragLeft ©   (2005-01-25 06:23) [0]

Хочу сделать чат в локалке, чтобы можно было использовать в нём аватары.
Но вот как передать всем изображение из TImage ума не приложу.
Как можно реализовать такую задумку? Причём не используя прямое соединение, а
посылать всем,  броадкастом. Картинки не большие, до 48*48pics.


 
Карелин Артем ©   (2005-01-25 09:41) [1]

Если уж не найдешь красивого решения, то передавай картинку один раз по прямому соединению, потом из кэша бери ее. Они же в gif или jpg маленькие совсем будут.


 
Style ©   (2005-01-25 12:37) [2]

Я бы делал так:

Пользователь заходит в чат, его клиент начинает по таймеру посылать на broadcast UDP пакеты, информируя другие машины, о своем присудствии.

Если у какой либо машины - нет информации о пользователе, то она устанавливает прямое соединения с компьютером от которого пришел UDP пакет и закачивает все что необходимо. Либо эти машины общаются опять же по UDP, но там нужно будет самому реализовать проверку, на то что данные действительно доставлены и еще рассылать инфу частями.

Если пользователь сменил аватару. То разумно было бы изменить какой-нить параметр в UDP пакетах которые идут по таймеру на BroadCast. К примеру можно посылать время последнего изменения аватары.


 
Max_MS   (2005-01-25 13:19) [3]

Есть решение простое :)
но туповатое :)
Картинку в UUE кодируешь
и как текст ее засылаешь
можно присобачить какой нить контроль целосности
ну а дальше дето техники.


 
Senti   (2005-01-26 15:10) [4]

Я так понимаю чат идет на UDP ?

Если так, то реализация такая:
Кладешь компонент TServerSocket и TClientSocket (они будут ответственны за передачу аватаров).

1. Человек запускает чат. TServerSocket приводится в активный режим на определенном порту.
2. Высылает бродкаст пакет с уведомлением о новом пользователе.
3. Остальные получают пакет и соединяются с этим IP на ServerSocket
4. После соединения через SendStream отсылается аватар

Если пользователь изменит аватар, то высылается пакет на изменение.

Самое простое решение SendStream через Server и Client сокеты



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
3-1109752936
sashuly
2005-03-02 11:42
2005.03.27
отражение информации из 2-х столбцов в DBComboBox


1-1110880022
Muk
2005-03-15 12:47
2005.03.27
Программно нажать клавишу


4-1108103302
Jetus
2005-02-11 09:28
2005.03.27
Изменение данных о версии чужого ехе-файла


3-1109110179
F[a]C
2005-02-23 01:09
2005.03.27
Как в DBGrid в заголовки колонок вывести текст в нескольно строк?


14-1110024414
fc
2005-03-05 15:06
2005.03.27
Эксперемент[1]. Кривые зеркалА.