Показать сообщение отдельно
  #7  
Старый 21.02.2010, 04:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Я бы пошел по другому пути.
Вообще, если брать семейство протоколов TCP/IP, то они практически все обеспечивают соединиение точка-точка (не исключая и сокеты). Т.е. для передачи сообщения (в т.ч. и файла) нескольким пользователям тебе в любом случае нужен будет сервер. Т.е. некоторый клиент сначала "говорит", что хочет передать файл серверу. Теперь 2 варианта. Первый - сервер отдает ему адреса тех пользователей, кому надо передать данные. Далее сам клиент начинает опрашивать других пользователей (т.е. опять же создает N соеднинений точка-точка) и распиховать этот файл. Как видно, трафик с клиента будет большой, т.к. файл будет передан N раз. Итого будет 2N передач файла. Теперь вариант 2. Клиент "заливает" свой файл на сервер. Сервер извещает всех других клиентов, кому этот файл предназначен, что есть вот такие данные. И далее либо сервер сам распихивает этот файл, либо клиенты его забирают по определенной ссылке (например, через FTP). В этом случае будет N+1 передач файла.

Вот. Если ты чего из этого понял, то попробуй реализовать
Сама технология реализации (Сокеты, Инди, да хоть руками на WinAPI) роли не играет.
Ответить с цитированием