Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Лимиты Сокета, Сокет перестает принимать подключения 
:(
    Опции темы
MAKCim
Дата 30.11.2008, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(J0ker @  30.11.2008,  19:27 Найти цитируемый пост)
есть
после отсылки пакета с выставленым FIN сокет переходит в состояние FIN_WAIT_1, а после приема ACK без FINа переходит в состояние FIN_WAIT_2

верно
и где здесь FIN_WAIT?  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerdy_weirdie
Дата 30.11.2008, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2007

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



Видимо, таки где-то есть утечка хендлов. Вот, таскменеджером наблюдаю.
Сразу после запуска их было примерно по 5 на поток.
Через несколько часов около 10 на поток.
И сейчас, часов через 8 стало около 12 на поток. Только ума пока что не приложу, откуда они утекают.
Может, кто знает какой попроще способ узнать, откуда лишние хендлы при 2000 работающих потоках ))
PM MAIL   Вверх
J0ker
Дата 1.12.2008, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 1
Всего: 14



Цитата(MAKCim @ 30.11.2008,  22:27)
Цитата(J0ker @  30.11.2008,  19:27 Найти цитируемый пост)
есть
после отсылки пакета с выставленым FIN сокет переходит в состояние FIN_WAIT_1, а после приема ACK без FINа переходит в состояние FIN_WAIT_2

верно
и где здесь FIN_WAIT?  smile

имелось ввиду в каком-либо FIN_WAIT - _1 или _2
ну впрочем тебя я не осуждаю - сие очевидно только ОО программистам  smile

Добавлено через 5 минут и 4 секунды
Цитата(nerdy_weirdie @  30.11.2008,  23:50 Найти цитируемый пост)
Только ума пока что не приложу, откуда они утекают.

вы игнорируете мое предупреждение насчет CreateThread
CRT и MFC имеют глобальные объекты, которые должны быть инициализированны на каждый поток отдельно - при отсутствии инициализации последствия непредсказуемы и трудно обнаруживаемы
в том числе это может быть и утечка ресурсов



--------------------
user posted image
PM MAIL   Вверх
MAKCim
Дата 1.12.2008, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Цитата(J0ker @  1.12.2008,  01:17 Найти цитируемый пост)
ну впрочем тебя я не осуждаю - сие очевидно только ОО программистам 

ага, и потом вот из-за таких ОО программистов и ракеты взрываются, и еще куча всего нехорошего происходит  smile 
очевидно != формально



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
J0ker
Дата 1.12.2008, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 1
Всего: 14



Цитата(MAKCim @ 1.12.2008,  02:21)
Цитата(J0ker @  1.12.2008,  01:17 Найти цитируемый пост)
ну впрочем тебя я не осуждаю - сие очевидно только ОО программистам 

ага, и потом вот из-за таких ОО программистов и ракеты взрываются, и еще куча всего нехорошего происходит  smile 
очевидно != формально

из-за формалистов происходит столько всяких неприятностей, что одной ракетой больше, одной меньше - никакого рояля не играет  smile 


--------------------
user posted image
PM MAIL   Вверх
MiklVolkov
Дата 4.7.2009, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 4.7.2009

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



Уважаемые, если проблему решили, то подскажите как?
Я наступил н теже грабли.

Есть набор клиент-серверных приложений собственной разработки. Для связи используются сокеты в виде  классов в которых реализовна и клиентская и серверная части. Вся часть ПО ответственная за связь вынесена в отдельную DLL.

Сервер запускается, клиенты к нему подключаются, отключаются и т.д. и т.п.
Все нормально работало неделями - дольше не получалось тестировать непрерывно - приходилось перезапускать.
Клиентов было штук 20.

Сейчас клиентов увеличил до 150. Теперь все работает но 2,5 дня. Может и дольше - до недели, но не меньше точно.
Потом происходит следующая ситуация. Сервер видит подключения клиентов, новые подключаются, старые отключаются, но данные не пересылаются ни в одну сторону.

Была идея - сделать перезапуск класса сервера, отвечающего за связь. Обнаружил интересную штуку - если сделать этот перезапуск искусственно - скажем через 1 сутки - все нормально работает. Но если дождаться когда связь "отвалится" сама - увы, клиенты подключаются, а данные не ходят ни в одну сторону.

Перезапускаешь приложение - все опять работает.
Понятно, что где-то что-то переполняется, но вот что и где?

Да, еще забыл добавить интересное наблюдение - перезапуск класса связи искусственно срабатывает 101 раз. А потом надо один фиг перезагружать всю программу целиком.

Памяти сколько выделено и нитей - столько же, сколько и при старте программы.
А вот насчет netstat - сказать ничего не могу - я только что про нее узнал
Средствами VS никаких утечек чего либо не обнаруживается.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




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


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

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