Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

01.05.2010, 20:05
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Все ваши беды от незнания матчасти:
1. Каждый объект инди ровным счетом ничего не знает о других объектах созданных в других потоках и существует независимо от них. По-этому утверждение "Indy — говно. С потоками работает просто отвратно." изначальное глупое, инди с потоками не работает вообще, программист с ними работает.
2. Исключения - не ошибки, это средство языка, и их надо обрабатывать, иначе исключение валит поток.
ЗЫ Главный недостаток инди - это работа через исключения, новички этого не понимают и пугаются. На месте разработчиков инди я бы использовал "тихий режим"
ЗЫЫ А вот доставляет/принимает ли корректно данные - другой вопрос, и я на него не знаю ответа.
|
|
|

02.05.2010, 20:38
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме: 604635
Репутация:
15
|
|
Все ваши беды от незнания матчасти
Причем тут матчасть, может имел введу незнание как работает Indy?
1. Каждый объект инди ровным счетом ничего не знает о других объектах созданных в других потоках и существует независимо от них. По-этому утверждение "Indy — говно. С потоками работает просто отвратно." изначальное глупое, инди с потоками не работает вообще, программист с ними работает.
не правда, взаимоотношение есть при создании и удалении объектов Indy(но там код идеален и багов вызвать не может)
На счет indy - говно : indy не говно...так катяшок) Багов уйма в версии в Delphi 7. Само собой очень много чего исправлено в текущих версиях. Но на удивлении у ТС похожая ошибка что и у меня в древней версии. Короче по не понятным причинам при скачивании файла из инета у него действительно урезаются 10-20 байт. Причем происходит мягко говоря от балды. Если что то происходит в программе от балды, то по любому это от не правильной синхронизации потоков. А не правильная синхронизация бывает если программист тупо не знает как правильно синхронизировать или тупо ошибся. На синхронизации собаку съел, до сих пор не могу найти где урезается. Кстати поговаривали что проблема с SysUtils, точнее с одной процедурой. Скачал этот модуль с данным фиксом - заработало gzip декомпрессия, а с урезанием "binary" данных не решил пока.
|
|
|

02.05.2010, 21:15
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Причем тут матчасть, может имел введу незнание как работает Indy?
Может дашь четкое определение выражения "матчасть", тогда я тебе скажу что я имел ввиду
не правда, взаимоотношение есть при создании и удалении объектов Indy(но там код идеален и багов вызвать не может)
Тыкни в это место, я такого не замечал
Если что то происходит в программе от балды, то по любому это от не правильной синхронизации потоков. А не правильная синхронизация бывает если программист тупо не знает как правильно синхронизировать или тупо ошибся. На синхронизации собаку съел, до сих пор не могу найти где урезается.
Чтобы этого избежать нужно разрабатывать такую архитектуру в которой синхронизация не понадобится, ну или почти не понадобится.
Скачал этот модуль с данным фиксом - заработало gzip декомпрессия, а с урезанием "binary" данных не решил пока.
У мну как-то изначально она работала, может потому что у меня дельфи 2009 и инди постоянно обновляю, хз.
Так-то баги конечно есть, но они не критичные. Вот например стандартный куки менеджер не использую, пришлось припилить свой, т.к. тот не со всеми сайтами корректно работал и авторизация по кукам проваливалась, несмотря на все обновления.
На сокетах все в стопятсот раз проще.
Ну да, я заметил это по количеству тем открытых тобой про сокеты 
Последний раз редактировалось GhostOnline; 02.05.2010 в 22:22..
|
|
|

02.05.2010, 22:06
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
На сокетах все в стопятсот раз проще + развивается знание rfc.
|
|
|

02.05.2010, 23:51
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
На сокетах не проще, но эффективнее и при правильной логике работы будет 100% работать.
|
|
|

07.05.2010, 01:11
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме: 604635
Репутация:
15
|
|
Может дашь четкое определение выражения "матчасть", тогда я тебе скажу что я имел ввиду
Туплю
Тыкни в это место, я такого не замечал
Версия для D7, так что в твоей может что то поменяли.
Файл IdComponent.pas : смотри конструктор и деструктор.
Чтобы этого избежать нужно разрабатывать такую архитектуру в которой синхронизация не понадобится, ну или почти не понадобится.
Если было бы всё так просто, то синхронизация не нужна была бы. Конечно всегда её сводят к минимуму, но без неё во многих задачах ни как.
У мну как-то изначально она работала, может потому что у меня дельфи 2009 и инди постоянно обновляю, хз.
Естественно.
Вот например стандартный куки менеджер не использую, пришлось припилить свой, т.к. тот не со всеми сайтами корректно работал и авторизация по кукам проваливалась, несмотря на все обновления.
Я вообще не вижу смысла использовать их куки менеджер, если свой код в 200-300 строк(могу дать), и не надо создавать лишних классов.
На сокетах все в стопятсот раз проще + развивается знание rfc.
Согласен, RFC и API рулят, т.к. код свой, нет боязни что где то там что то не так работает, и собственно размер приложения существенно уменьшается. Но опять же изобретать велосипед не хочется, я думаю нужно просто написать свой маленький движок и юзать его.
На сокетах не проще, но эффективнее и при правильной логике работы будет 100% работать.
Када indy писали, тоже думали что при правильной логике работы будет 100% работать)
|
|
|

07.05.2010, 01:43
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Сообщение от Jingo Bo
Када indy писали, тоже думали что при правильной логике работы будет 100% работать)
Ну так или иначе, если ты верно реализуешь работу своего сокетного движка, предотвратишь возникновение всевозможных ошибок, то твой вариант будет совершенно правильно работать, никаких проблем не будет возникать.
Вот разработчики Indy в реале немного странно поступили. К примеру, есть ошибка в Indy 9 (точной версии не знаю, знаю, что в 10-ой этой проблемы уже нету). В классе TIdMultiPartFormDataStream, который используется для работы с Multipart forms дописывались два дополнительных ненужных байта, к одному из параметров, что почти всегда влияло на результат работы.
Можете прочитать об этом хотя бы здесь: http://forum.vingrad.ru/act-ST/f-86/t-287613.html
|
|
|

07.05.2010, 02:11
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Если было бы всё так просто, то синхронизация не нужна была бы. Конечно всегда её сводят к минимуму, но без неё во многих задачах ни как.
Все так просто =) Пробовал в потоках только запросы выполнять?
Я вообще не вижу смысла использовать их куки менеджер, если свой код в 200-300 строк(могу дать), и не надо создавать лишних классов.
Куки менеджер это я так выразился чтобы было понятней, на самом деле процедура
строк в 50, не стал морочиться с доменами, потому что каждый объект у меня строго для одного домена
я думаю нужно просто написать свой маленький движок и юзать его.
Такой уже есть - Synapse, так что опять велосипед.
Можете прочитать об этом хотя бы здесь: http://forum.vingrad.ru/act-ST/f-86/t-287613.html
Это цветочки
http://janych.selfip.com/Examples/Delphi/Indy/HTTP/
Хоть и про неактуальную версию, но сам факт наличия таких багов обескураживает.
Последний раз редактировалось GhostOnline; 07.05.2010 в 02:22..
|
|
|

07.05.2010, 12:02
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме: 604635
Репутация:
15
|
|
Все так просто =) Пробовал в потоках только запросы выполнять?
Я такое часто использую, опять же по возможности, бывает что и обработку надо делать многопоточно.
Такой уже есть - Synapse, так что опять велосипед.
Synapse - уг, там единственно стоящее SSL удобно сделан, а работа с соксами и http-прокси достаточно проблематична если использовать их HTTP компонент. Если бы он хорошо поддерживал последнее и поддерживал gzip/deflate - я бы безусловно использовал бы его.
Это цветочки
http://janych.selfip.com/Examples/Delphi/Indy/HTTP/
Хоть и про неактуальную версию, но сам факт наличия таких багов обескураживает.
Читали, знаем)
|
|
|

07.05.2010, 16:23
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Сообщение от Jingo Bo
Synapse - уг, там единственно стоящее SSL удобно сделан, а работа с соксами и http-прокси достаточно проблематична если использовать их HTTP компонент. Если бы он хорошо поддерживал последнее и поддерживал gzip/deflate - я бы безусловно использовал бы его.
Обоснуй, на основе чего у тебя сложилось мнение, что Synapse неправильно работает с прокси? И этот компонент нельзя назвать, как ты выразился "УГ", - он довольно стабильно работает.
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Датинг-скам
|
wizzеr |
Авторские статьи |
14 |
24.09.2009 22:30 |
|
Как стать хакером!
|
foreva |
Болталка |
19 |
12.12.2007 00:12 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|