![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Вечер добрый.
Возникло желание создания приложения для работы в сети. Примерное описание: Например возьмем обычную аудиторию. Надо отправить через программулину какие-либо файлы по сети с одного компа на все остальные. Та и вообще хотелось бы узнать побольше о работе с сетями/сокетами и т.п. З.ы. Делфу изучаю самостоятельно, прошу не пинать) Во общем, люди добрые, помогите кто чем может - литература, статьи, примеры, исходники, советы и т.п. - буду рад всему) Пытался найти что-то самому - либо ничего полезного, либо засыпаю на одной и той же странице. Заранее благодарен, с ув. Лунтик-Некрофил. Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#3
|
||||
|
||||
![]() Читал уже не один раз, даже для удобства их прогу скачал. Однако там больно все "свысока" написанно, и по большей части одни исходники, а я даже не смог найти в делфе ServerSocket/ClientSocket. Меня интересует красиво описанная практика, с максимально ясными комментариями и легкозапоминающейся теорией)
Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#4
|
||||
|
||||
![]() Цитата:
Последний раз редактировалось Ultras, 21.02.2010 в 00:31. |
#5
|
||||
|
||||
![]() Цитата:
|
#6
|
||||
|
||||
![]() Ок, спс) Аську запишу)
Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#7
|
|||
|
|||
![]() Я бы пошел по другому пути.
Вообще, если брать семейство протоколов TCP/IP, то они практически все обеспечивают соединиение точка-точка (не исключая и сокеты). Т.е. для передачи сообщения (в т.ч. и файла) нескольким пользователям тебе в любом случае нужен будет сервер. Т.е. некоторый клиент сначала "говорит", что хочет передать файл серверу. Теперь 2 варианта. Первый - сервер отдает ему адреса тех пользователей, кому надо передать данные. Далее сам клиент начинает опрашивать других пользователей (т.е. опять же создает N соеднинений точка-точка) и распиховать этот файл. Как видно, трафик с клиента будет большой, т.к. файл будет передан N раз. Итого будет 2N передач файла. Теперь вариант 2. Клиент "заливает" свой файл на сервер. Сервер извещает всех других клиентов, кому этот файл предназначен, что есть вот такие данные. И далее либо сервер сам распихивает этот файл, либо клиенты его забирают по определенной ссылке (например, через FTP). В этом случае будет N+1 передач файла. Вот. Если ты чего из этого понял, то попробуй реализовать ![]() Сама технология реализации (Сокеты, Инди, да хоть руками на WinAPI) роли не играет. |
#8
|
||||
|
||||
![]() lmikle, это я понял, примерно это я и хочу увидеть, возможно только будет чуть меньше алгоритм - сервер находит всех клиентов и рассылает им файлы. Проблема в том, что нету нигде доступной инфы по работе с сетями(
Посоветуй что-нибудь почитать от себя=) Та и если не секрет - что более качественнее для работы при большом кол-ве пользователей? Инди, сокеты или что? Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... Последний раз редактировалось Лунтик-Некрофил, 21.02.2010 в 07:33. |
#9
|
|||
|
|||
![]() Где-то видел книжонку Indy In Dept (русское название не помню, но не важно). Если ты выберешь Indy, то собственно, саму технологию передачи можно "свалить" на любой протокол. Я бы взял FTP. Т.е. посылатель закачивает файл и список получателей на сервер (это могут быть и 2 разных соединения), а потом сами получатели, получив извещение, что их ждет файл с таким именем, лезут на этот сервер через FTP и качают его. Минимум работы. Возьми компонент TIdFTP и просто посмотри что там и как.
А вообще, по протоколам лучше читать источник - RFC. |
#10
|
||||
|
||||
![]() Цитата:
![]() |
#11
|
||||
|
||||
![]() Вообщето ClientSocket, помоему, с Delphi 7 считается устаревшим.
На вкладке Internet есть другие сокеты. Про оповещение клиентов можно посмотреть в сторону UDP протокола - там можно рассылать в частной сети на широковещательный адрес. Ну а далее как lmikle описал |
#12
|
||||
|
||||
![]() Цитата:
|
#13
|
||||
|
||||
![]() Цитата:
![]() |
#14
|
||||
|
||||
![]() Цитата:
![]() Все зависит от конкретной ситуации и обычно решается наоборот. Т.е. смотря что хотите. Если автоматическое обновление версий своих программ то лучше если ваша программа сама запросит сервер на наличие новой версии и есть в винде для этого хорошие механизмы. |
#15
|
||||
|
||||
![]() К сожаленью не то, чего ожидал( Мне нужны литература, факты, исходники, хоть какая-нибудь более-менее ясная теория...
Прочитал "Глубины инди" - вообще уснул, словно "Войну и мир" запихали в 50-ти страничную книжёнку. Почитал Марко Кэнту - теория понятна, а практикой нигде не пахнет( Вы ведь не прогеры от Бога, тоже когда-нибудь учились, и думаю не все учились в технарях/вузах. Мне бы хоть что-нибудь понятное... Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |