Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> synapse TTCPBlockSocket, утечка памяти 
:(
    Опции темы
Mikel
Дата 2.4.2010, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



Опрашиваю IP камеру по таймеру. Если смотреть по диспетчеру задач, то память занимаемая приложением растет примерно на 8кб в секунду.
Проект есть во вложении, на всякий случай код:

Код

procedure TForm1.Timer1Timer(Sender: TObject);
var
  s:string;
  n:integer;
begin
  SC.Connect('192.168.2.12','80');
  SC.SendString('GET /image?res=full&x0=400&y0=300&x1=1200&y1=900&quality=21 HTTP/1.0'#13#10'Host: 192.168.2.12'#13#10#13#10);

  mem.SetSize(0);
  SC.RecvStreamRaw(mem,2000);

                    if mem.Size>200
                       then begin
                              SetLength(s,200);
                              mem.Position:=0;
                              mem.Read(s[1],200);

                              n:=Pos(#13#10#13#10,s);

                              tmpIM.SetSize(0);

                              mem.Position:=n+3;
                              tmpIM.CopyFrom(mem,mem.Size-mem.Position);

                              tmpIM.Position:=0;

                              jpg.LoadFromStream(tmpim);
                              Image1.Picture.Assign(jpg);

                              tmpIM.Clear;
                            end;
  SC.CloseSocket;
end;


Может надо как-то чистить буферы сокета, или еще что-н?

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  Synapse.zip 3,08 Kb


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 12.4.2010, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



Ладно, оставим утечку памяти smile
Проблема еще возникает при коннекте к несуществующему хосту, синапсом вызывается куча exception 0x000006BA в try except они отлавливаются, но дебаггер по истечении некоторого времени говорит что слишком много исключительных ситуаций было в программе, но выполнение продолжить можно. При запуске не под отладчиком, приложение через некоторое время просто закрывается.

С indy такого не было, но по скорости работает ощутимо медленнее. Как бы мне с этим бороться...


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Matematik
Дата 12.4.2010, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



>Присоединённый файл  Synapse.zip 3,08 Kb

FastMM утечек не видит,  но кол-во используемой памяти растет.
Если не грузить картинку в Image, "утечка" пропадает - значит проблема не в synapse.

> несуществующему хосту, синапсом вызывается куча exception 0x000006BA

Такого не наблюдаю.
У меня D2007 
synapse версия 2009-10-09 - release no. 39
Какие версии у тебя?
Как точни выглядит exception?

Это сообщение отредактировал(а) Matematik - 12.4.2010, 14:22
PM MAIL WWW ICQ   Вверх
Mikel
Дата 12.4.2010, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



Тоже D2007, synapse 2009-10-08 - 39

"application-defined exception (code 0x000006ba) at 0x7c812afb"
Я бы сам его не заметил, если бы делфи не ругалась на его множественные вызовы. А вылазиет он отдельно только если прописать его дебаггере. Вылазиет вроде бы только когда хоста нет.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 13.4.2010, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



И не только там... Пустой проект, на форме только сокет от ICS. Exception Вызывается при коннекте в модуле OverbyteIcsWSocket.
Функция:

Код

function WSocket_Synchronized_connect(
    s        : TSocket;
    var name : TSockAddr;
    namelen  : Integer): Integer;
begin
    if @FConnect= nil then
        @FConnect := WSocketGetProc('connect');
    Result := FConnect(s, name, namelen);//здесь exception
end;


Повторюсь, что дебаггер его отдельно не отлавливает, если только его не прописать, отлавливает только его множественные вызовы при частых коннектах.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 13.4.2010, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



Прошу прощения, похоже что проблема локальная- на ноуте такого exception'a нет  smile 

Последние новости smile
Exception вызывается при любом вызове connect'a из wsock32.dll. Exception вызывает инъецированная dllка Dr.Web'a. При работе с броузером и с прочими программами, которые сравнительно редко вызывают коннект, exception никакого последствия не имеет. А процесс, который опрашивает несколько IP камер по HTTP 1.0,  по 15 раз в секунду каждую, убивается системой, ну а Delphi ругается на частый вызов exception'ов.
Такие дела...  smile 

Это сообщение отредактировал(а) Mikel - 13.4.2010, 14:13


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.