![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Молоток |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 3.4.2008 Репутация: нет Всего: -2 |
Постоянно работаю с ClientSocket, ServerSocket
Отлично всё работает. Почему все говарят что лучше использовать Indy Однако не говарят почему это лучше.. Хочу услышать мнения специслистов на эту тему. Спасибо. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
В принципе, отличий много:
Но главная причина:
Это сообщение отредактировал(а) kemiisto - 17.4.2008, 10:30 -------------------- |
|||
|
||||
Молоток |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 3.4.2008 Репутация: нет Всего: -2 |
kemiisto
в Indy - кросплатформенные компоненты (VCL, CLX, VCL.NET); Приложения Делфи сами по себе не могут работать в nix Системах, так что не какой не плюс, а минус что есть лишние компоненты. Это сообщение отредактировал(а) Молоток - 17.4.2008, 10:34 |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
А Clicks-приложения (CLX) могут? А Indy в CLX есть! А Socket есть?
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
По-моему Indy на этих самых сокетах и сделана
На Indy нельзя скачать часть HTTP-страницы (напрмер, только первых 10 кБ) - только полностью, а на сокетах это сделать можно. В общем по-моему Indy это скорее высокоуровневые компоненты. А сокеты по отношению к ним - более низкоуровневые -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
Вообще, смотря для каких целей что надо. Можно на прямую брать функции из winsock.dll и говорить что не Indy, не Sockets не нужны. Но согласись, создать ftp сервер все-же проще на Indy чем на ServerSocket (кода менше, времени менше надо).
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
у инди есть TidTCPServer/TidTCPClient... отличается от стандартных(TServerSocket, TClientSocket) более продвинутым функционалом и отсутствием неблокирующего режима работы
-------------------- There are always someone smarter than you... |
|||
|
||||
Молоток |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 3.4.2008 Репутация: нет Всего: -2 |
Poseidon, Почему ФТП сервер можно и на сокетах написать я писал.
Тойсть для всех задач, я использую сокеты начиная от передачи файлов и крупных проектов по работе с базами даных через сервер. Для любых целей! Это сообщение отредактировал(а) Молоток - 17.4.2008, 13:30 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
а можно и колесо заново изобрести и велосипед самому руками собрать... только вот зачем? будут ли оправданы затраты человеко-часов? -------------------- There are always someone smarter than you... |
|||
|
||||
Молоток |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 3.4.2008 Репутация: нет Всего: -2 |
MetalFan, Там что одной функцией
ftp.create(); И всё у меня полноценный ФТП сервер с всеми примочками ? )) Один фиг кодить прийдётся даже самую простую докачку файлов при обрыве связи или туже передачи файлов. Добавлено через 1 минуту и 35 секунд Я если не знаю к примеру инди вообще то гараздо быстрей напишу сервак на сокетах с которыми постоянно работаю ![]() Вопрос идёт изначально идёт не о том кто что напишет. а о том почему нельзя использовать сокеты, чем лучше инди, и факты которые это подтверждают! ![]() |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
там знать нечего. кинул компонент, прописал пару событий, вызвал пару методов и все. 5 строк кода. а вот на сокетах врядли ты "гараздо" быстрее напишешь тоже самое, что на инди за 5 минут можно сделать. нет, написал, так молодец, что и говорить. но рекомендовать всем писать самим... я бы не стал. -------------------- There are always someone smarter than you... |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
Молодец! Только я не пойму, зачем ты сокеты вообще трогал? Брал бы сразу winsock.dll и в путь. Окно тоже на WinAPI сразу бы рисовал. Все события сам обрабатывал. И потом писал бы "народ, а чего вы TButton используете? На ВинАПИ кнопку создать - как два пальца..." Никто не писал что на сокетах нельзя фтп-сервер замутить. Только то, что ты будешь на сокетах делать неделю, с помощью Indy сделается за день. Конечно, если делаешь для себя и времени валом, то никто не запрещает. А если заказчик гонит в шею и ему, в готовой программе, глубоко фиолетово на чем у тебя строится работа. Пади ему обьясни, что неделю придется ждать только потому, что тебе не охота работать с Indy.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
gggl |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.9.2007 Репутация: нет Всего: нет |
Так это верно? Если да то это большой минус по indy :( |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
можно, но нестандартным подходом -------------------- There are always someone smarter than you... |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Можно качать и не для отображения. У меня вот была задача, где программа должна была для выполнения определённых действий делать несколько переходов по страницам. При этом я знал, что ссылка на следующую страницу для перехода находится вверху текущей страницы. А значит не было смысла качать всё остальное. Если качать столько, сколько нужно, трафик бы снизился в несколько раз. Конечно, это была специфическая задача, но тем не менее... -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
Специфические задачи требуют специфических подходов. На Indy такие подходы тоже есть. Но вот только каково будет удивление пользователей такой программы, если страница изменится и искомая ссылка окажится внизу? Да и экономия трафика спорная. Сколько занимает среднестатистическая страница (только html-код)? 10кб? Не думаю что на много больше.
Да, тут вот подумал. Сколько строк будет занимать код на сокетах, который умеет "бегать" по https ссылкам? Это же SSL подгружать придется, шифровать-расшифровывать. А теперь представим: все у нас прекрасно работало по http, все отлажено и тут бац, нужно сменить http на https. Если мы пишем на сокетах, то придется заново все переписывать, отлаживать, тестировать. А это время (а для кого-то еще и деньги). А если на Indy, то нужно будет "кинуть" один компонент на форму (IdSSLIOHandlerSocket) и связать его с idHttp (idHttp.IOHandler:= IdSSLIOHandlerSocket). Все! Ничего не надо переписывать, ничего отлаживать. Сколько это времени аймет? Ну максимум минуту. Сколько лишних строк кода? Ни одной (с учетом того что все можно в инспекторе сделать). Вот вам и разница. Точно такое же и с куками и еще куча с чем. Это сообщение отредактировал(а) Poseidon - 28.4.2008, 09:46 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
gggl |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.9.2007 Репутация: нет Всего: нет |
Poseidon такое ощющение что инди этото пуп земли а то что в нем нельзя, то впринципе и никаму ненужно, да инди качает всю страницу целиком что не есть гуд, и сколько бы вы текста не написали минус в плюс не привратится...
p.s.: и страници бывают и по 600кб (html). |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
VCL тоже не пуп земли, но почему-то некто не пишет серьезные программы на WinAPI. Хотя VCL "тягает" за собой все что возможно, надо это будет или нет. И это минус. Но почему-то никто не обращает внимание на этот минус, а наоборот, то, что в VCL не нужно много лишних движений делать (как в WinAPI или в sockets) - это огромный плюс, который с лихвой перекрывает минус "больших программ" (в случае VCL) и лишнего трафика (в случае Indy). Сейчас, в эпоху безлимитного выделенного интернета и терабайтных винчестеров, мало кто смотрит на размер (программы или трафика). Сейчас смотрят на удобство и скорость (в разработке). Indy, как и VCL, дают такое удобство, чего не скажешь про sockets и WinAPI.
PS. Про SSL возразить нечего? Хотелось бы ссылочку на такую страницу, в которой будет 600кб чистого html (т.е. без картинок, флеша и т.п.) -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
можно! можно в индях скачать часть страницы. только не совсем стандартным способом, но можно
-------------------- There are always someone smarter than you... |
|||
|
||||
gggl |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 22.9.2007 Репутация: нет Всего: нет |
Даже на этом форуме (Vingrad) если покопатся можно найти достаточно увесистые страници, особенно где вставленно много исходного кода, ещё этим блецут конференции на http://www.ixbt.com/ для примера эта страница весит 96кб (на момент написания) хотя эта страница не заполнена полностью и здесь нет ниодной строчки исходников... Вот и сравните 10кб и 96 есть разница? P.S.: Уж извените трафик у меня не халявный что бы лазить и искать такую страницу. |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 4 Всего: 133 |
![]() Я еще раз повторю, никто не запрещает использовать сокеты. Все-лишь рекомендуют переходить на Indy. Рекомендуют потому что Indy более гибки и уневерсальны. То, что на сокетах делается целой процедурой в десятки строк, на Инди делается в инспекторе обьектов вообще без кода. Это значительно упрощает и сам код и его разработку. Хотя для некаторых целей все же целесообразней использовать сокеты. Точно так же как и для некаторых целей целесообразнее написать на WinAPI. Тут все зависит от задачи. Но все же подавляющее большинство задач целесообразнее решать с помощью Индийцев. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |