Страница 1 из 1

Indy MD5

СообщениеДобавлено: 05.09.2019 09:58:07
S_Gur
Господа, нет ли каких особенностей в использовании Indy в Лазарусе? У меня программа рушится с ошибкой RunError(201) при вызове функции MD5. Лазарус 2.04 r61665 64-хбитный, Indy установлен из сетевого диспетчера пакетов

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 10:10:56
Vadim
S_Gur
Я лет 10 назад пытался сделать свой ping с помощью INDY, так программа работала только под админом, под простым пользователем категорически отказывалась. Проект, по-моему, заброшен. Вряд ли стоит им пользоваться...
MD5 можно посчитать и FCL-ным компонентом - в каталоге hash модуль md5. Исходники есть, можно посмотреть, какие там внутри функции.

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 10:43:01
S_Gur
Vadim, спасибо большое. Очень жаль. С MD5 я, конечно, разберусь, но очень надеялся, что хотя бы IdHTTP там будет относительно работоспособным. А что есть под FPC работоспособного вместо Indy? Что-нибудь типа Synapse, например?

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 11:02:16
Vadim
S_Gur писал(а):А что есть под FPC работоспособного вместо Indy? Что-нибудь типа Synapse, например?

Нужно описать конкретную задачу. :-) Есть много чего, но подойдёт ли оно Вам заранее не скажешь. Есть модули для сервера Apdche, есть для качалки curl, есть для построения веб-клиента, есть для общения с Ldap и ещё много чего, просто они каждый по отдельности.
Из сторонних - Synapse и LNet, но у них могут быть свои заморочки, т.к. они тоже заброшены. Но работают, проверял... :-)

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 11:04:18
S_Gur
Vadim, я понял. Буду обращаться за помощью уже с конкретной задачей

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 12:31:11
olegy123
Vadim писал(а): так программа работала только под админом, под простым пользователем категорически отказывалась.

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

Vadim писал(а):Проект, по-моему, заброшен. Вряд ли стоит им пользоваться...
а что изменилось с 70х времен прошлого столетия с сокетами? Ничего. Так что проги написаные в эпоху диско будут работать сейчас.
Его, Indy, не нужно менять, потому что он написан по канонам Delphi - юзер не должен возмущаться объемом знаний чтобы просто открыть сокет.
Другое дело что Indy в тяжелых проектах - до 1мл подключений в минуту, не следует применять, сильно проигрывает с EPoll, да и TThread хочет синхронизироваться с главным процессом и т.п.

S_Gur писал(а):Что-нибудь типа Synapse, например?
сокет. Synapse - это работа с сокетом плюс некоторые протоколы. Если добавить TThread - получим Indy

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 12:55:32
S_Gur
а что изменилось с 70х времен прошлого столетия с сокетами? Ничего. Так что проги написаные в эпоху диско будут работать сейчас.
Его, Indy, не нужно менять, потому что он написан по канонам Delphi - юзер не должен возмущаться объемом знаний чтобы просто открыть сокет.
Другое дело что Indy в тяжелых проектах - до 1мл подключений в минуту, не следует применять, сильно проигрывает с EPoll, да и TThread хочет синхронизироваться с главным процессом и т.п.


Я так понимаю, у вас есть конкретные идеи, почему Indy рушится на вызове функции MD5?

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 13:43:21
serbod
Indy не заброшен, автор активно общается на сайтах Lazarus, Embarcadero, StackOverflow. Возможно, у вас просто старая версия.

Synapse это удобная кроссплатформенная обертка над голым сокетом. Если вы знаете как работают сокеты (точно так же как файлы и пайпы по сути), то будет удобно. А если хотите готовый компонент с минимумом усилий, то лучше Indy мало что есть. У меня есть довольно простой DataPort, но там только клиентские подключения.

LNet штука хорошая для больших нагрузок, с тысячами подключений. Но в ней есть недоработки. Я что-то находил и исправлял, писал автору, но ответа не получил.

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 13:52:07
S_Gur
serbod, а может быть старая версия, если я установил его из диспетчера пакетов?

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 15:07:08
Vadim
olegy123 писал(а):а что изменилось с 70х времен прошлого столетия с сокетами? Ничего.

За исключением того, что в тех компонентах найдено 100500 ошибок, которые надо исправлять. Так что термин "ничего" вряд ли в данном случае применим. ;-)
olegy123 писал(а):сейчас некоторые операционки требуют супер права с 0-1024 портов, проги под юзерспейс безжалостно банят.

А вот, к примеру, тот ping, что идёт в составе ОС, и который тоже использует 0-1024 порты, отчего-то никто не банит и он спокойно работает из под обычного пользователя. ;-)
Добавлено спустя 1 минуту 31 секунду:
serbod писал(а):Indy не заброшен, автор активно общается на сайтах Lazarus, Embarcadero, StackOverflow. Возможно, у вас просто старая версия.

А где лежит новая? На сайте INDY версия от 2004 года, так что активность автора почему-то уходит куда-то не туда... ;-)

Re: Indy MD5

СообщениеДобавлено: 05.09.2019 15:32:13
serbod
S_Gur писал(а):serbod, а может быть старая версия, если я установил его из диспетчера пакетов?

Конечно. Более того, там специально может быть старая версия, для совместимости.

Vadim писал(а):А где лежит новая? На сайте INDY версия от 2004 года, так что активность автора почему-то уходит куда-то не туда...

https://github.com/IndySockets/Indy

Re: Indy MD5

СообщениеДобавлено: 08.09.2019 15:51:24
Valentin
Ежедневная сборка:

https://indy.fulgan.com/ZIP/