Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.02.2010, 23:23
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию Lan,tcp/ip или че-то там, сам не знаю...

Вечер добрый.
Возникло желание создания приложения для работы в сети.
Примерное описание:
Например возьмем обычную аудиторию. Надо отправить через программулину какие-либо файлы по сети с одного компа на все остальные.
Та и вообще хотелось бы узнать побольше о работе с сетями/сокетами и т.п.
З.ы. Делфу изучаю самостоятельно, прошу не пинать)

Во общем, люди добрые, помогите кто чем может - литература, статьи, примеры, исходники, советы и т.п. - буду рад всему)
Пытался найти что-то самому - либо ничего полезного, либо засыпаю на одной и той же странице.
Заранее благодарен, с ув. Лунтик-Некрофил.
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
  #2  
Старый 20.02.2010, 23:44
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

почитай тут, особенно секцию внизу Файлы и Интернет - [18]

Последний раз редактировалось Ultras, 20.02.2010 в 23:46.
Ответить с цитированием
  #3  
Старый 21.02.2010, 00:02
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

Читал уже не один раз, даже для удобства их прогу скачал. Однако там больно все "свысока" написанно, и по большей части одни исходники, а я даже не смог найти в делфе ServerSocket/ClientSocket. Меня интересует красиво описанная практика, с максимально ясными комментариями и легкозапоминающейся теорией)
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
  #4  
Старый 21.02.2010, 00:23
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Цитата:
Сообщение от Лунтик-Некрофил
Меня интересует красиво описанная практика, с максимально ясными комментариями и легкозапоминающейся теорией)
от ты загнул, репетитора нанимай, или изучай всё постепенно, и не прыгай сразу на сокеты и т.д. Я за 10 лет изучения программирования такова не видел, шоб всё сразу, легко и быстро ))), могу попробовать завтра объяснить в аське: 418018483

Последний раз редактировалось Ultras, 21.02.2010 в 00:31.
Ответить с цитированием
  #5  
Старый 21.02.2010, 00:27
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Цитата:
Сообщение от Лунтик-Некрофил
а я даже не смог найти в делфе ServerSocket/ClientSocket.
В Delphi7 открываешь Component -> Install Packages -> Add... и в папке C:\Program Files\Borland\Delphi7\bin (смотря куда установлен Delphi) находишь dclsockets70.bpl, затем Open и OK. На вкладке Internet появляются TClientSocket и TServerSocket.
Ответить с цитированием
  #6  
Старый 21.02.2010, 00:28
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

Ок, спс) Аську запишу)
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
  #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) роли не играет.
Ответить с цитированием
  #8  
Старый 21.02.2010, 07:27
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

lmikle, это я понял, примерно это я и хочу увидеть, возможно только будет чуть меньше алгоритм - сервер находит всех клиентов и рассылает им файлы. Проблема в том, что нету нигде доступной инфы по работе с сетями(
Посоветуй что-нибудь почитать от себя=)
Та и если не секрет - что более качественнее для работы при большом кол-ве пользователей? Инди, сокеты или что?
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...

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

Где-то видел книжонку Indy In Dept (русское название не помню, но не важно). Если ты выберешь Indy, то собственно, саму технологию передачи можно "свалить" на любой протокол. Я бы взял FTP. Т.е. посылатель закачивает файл и список получателей на сервер (это могут быть и 2 разных соединения), а потом сами получатели, получив извещение, что их ждет файл с таким именем, лезут на этот сервер через FTP и качают его. Минимум работы. Возьми компонент TIdFTP и просто посмотри что там и как.

А вообще, по протоколам лучше читать источник - RFC.
Ответить с цитированием
  #10  
Старый 21.02.2010, 10:30
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Цитата:
Сообщение от Лунтик-Некрофил
Инди, сокеты или что?
ну лично я использую сокеты с многопоточностью TSocketServer и TServerClientThread (недавно написал сервер, к которому в течении 2х минут обращается около 2000-2500 клиентов)
Ответить с цитированием
  #11  
Старый 21.02.2010, 10:38
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Вообщето ClientSocket, помоему, с Delphi 7 считается устаревшим.
На вкладке Internet есть другие сокеты.
Про оповещение клиентов можно посмотреть в сторону UDP протокола - там можно рассылать в частной сети на широковещательный адрес.
Ну а далее как lmikle описал
Ответить с цитированием
  #12  
Старый 21.02.2010, 10:44
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от Лунтик-Некрофил
... Инди, сокеты или что?
Я бы посоветовал для обучение попробовать всего. А потом уже сам поймешь в каком случае Тебе что удобнее использовать.
Ответить с цитированием
  #13  
Старый 21.02.2010, 11:56
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Цитата:
Сообщение от s0Creator
Про оповещение клиентов можно посмотреть в сторону UDP протокола - там можно рассылать в частной сети на широковещательный адрес
а у нас в сети широковещалка закрыта на управляемых свитчах, как тогда быть?
Ответить с цитированием
  #14  
Старый 21.02.2010, 12:18
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от Ultras
а у нас в сети широковещалка закрыта на управляемых свитчах, как тогда быть?
Тогда не смотреть в сторону UDP .
Все зависит от конкретной ситуации и обычно решается наоборот.
Т.е. смотря что хотите.
Если автоматическое обновление версий своих программ то лучше если ваша программа сама запросит сервер на наличие новой версии и есть в винде для этого хорошие механизмы.
Ответить с цитированием
  #15  
Старый 22.02.2010, 21:22
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

К сожаленью не то, чего ожидал( Мне нужны литература, факты, исходники, хоть какая-нибудь более-менее ясная теория...
Прочитал "Глубины инди" - вообще уснул, словно "Войну и мир" запихали в 50-ти страничную книжёнку.
Почитал Марко Кэнту - теория понятна, а практикой нигде не пахнет(
Вы ведь не прогеры от Бога, тоже когда-нибудь учились, и думаю не все учились в технарях/вузах.
Мне бы хоть что-нибудь понятное...
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025