Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Sockets: ESysError, code=5; AV...   Найти похожие ветки 

 
Makhanev A.S. ©   (2004-04-05 15:59) [0]

Есть 2 компонента, в которых используются:
многопоточный сервер и блокирующий клиент соответственно.

С вероятностью примерно 0.2 при закрытии клиента возникает AV ("in user32.dll") либо ESysError (code=5, "отказано в доступе").

Вернее, SysError, а потом AV.

Происходит это, если закрывается форма при открытом соединении.

При закрытии формы сокеты закрываются.

Сервер и Клиент реализованы в компонентах, наследуемых от TComponent.
В них есть поля FServerSocket: TServerSocket;
и
FClientSocket: TClientSocket
соответственно.

Все данные читаются/передаются через потоки (те, которые "нити").
То есть TServerSocket и TClientSocket используются только для установления соединения. Дальше они передают свои сокеты в потоки, которые в цикле осуществляют приём/передачу данных (через TWinSocketStream"ы).

Я понимаю, что нужно приводить код, но он большой для форума.
Если можно, укажите слабые места моей конструкции (откуда могут быть вышеуказанные ошибки?).
Естественно, могу привести отдельные участки кода, дабы не постить его сюда целиком.

Буду очень благодарен за любую помощь.

P.S.: если я сумбурно объяснил суть вопроса, могу написать поподробнее...


 
savva ©   (2004-04-05 16:27) [1]

а перед закытием сокетов остановить нити пробовал?


 
Makhanev A.S. ©   (2004-04-05 18:51) [2]


> savva ©   (05.04.04 16:27) [1]

Спасибо за совет.

Проблема действительно была со стопом потока.
Поток освобождался после освобождения сокета.

Ещё раз большое спасибо.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.079 c
14-1083583183
ИМХО
2004-05-03 15:19
2004.05.23
Лоуренс Аравийский


3-1082824337
windows
2004-04-24 20:32
2004.05.23
сохранить таблицу


14-1083402848
Profi
2004-05-01 13:14
2004.05.23
Русская Ось


3-1082638410
}|{yk
2004-04-22 16:53
2004.05.23
Логи сравнения (Оракл)


14-1083442276
RealRascal
2004-05-02 00:11
2004.05.23
Придумываение замысловатых паролей.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский