Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > теоретический вопрос


Автор: jimbo 28.5.2010, 16:16
привет всем..


я использую библиотеку стороннего разработчика. код показать не могу. Там есть методы у класса.
Код

create(); - создать объект
release(); - освободить объект
disconnect(); - расторгнуть соединение
connect(); - присоединиться
login(); - залогиниться


Этот класс соединяется с сервером и тот отдает ему данные. Сервер делает это непрерывно в течение всего дня. Сервер производит рестарт каждую ночь в 00-00.Разумеется, мой объект класса теряет связь при этом и я обрабатываю разрыв методами класса
disconnect();
release();
create();
connect()
login();

Все вроде бы хорошо, но через пару ночей я соединиться уже не могу. происходит коннект, логин и сразу же дисконнект. 

Мой вопрос собственно почему это может быть?Если приложение перезапустить - то оно сразу присоединиться и не будет дисконнектов. Меня также интересует, есть ли ограничение у приложений винды на количество выделяемых сокетов или времени работы сокетов? Можно ли понять где ошибка в библиотеке или в моем приложении?

Автор: jonie 28.5.2010, 22:39
jimbo, netstat -an сделайте на вашей машине (на клиенте), у меня однажды было такое что соединения висели в time_wait и операционка отказывала в новых соединения (типа исчерпались ресурсы)... а в целом - читать про TCP.. (если у вас, конечно, вообще tcp)

Автор: Dem_max 30.5.2010, 06:16
скорее всего ваша библа глючит и не делает release или disconnect, соединение или сокет остается занятым, поэтому ресурсы все у проги кончаются, винда новых не дает.

Автор: jimbo 31.5.2010, 11:56
Цитата(Dem_max @ 30.5.2010,  06:16)
соединение или сокет остается занятым, поэтому ресурсы все у проги кончаются, винда новых не дает.

Есть цифры? какой предел ресурсов винды? можно ли планку двигать?

Автор: borisbn 31.5.2010, 12:33
> Есть цифры? какой предел ресурсов винды?

Если не ошибаюсь, то в несерверной винде разрешено до 10 логинов на сервер. В серверной винде таких ограничений либо нет, либо на пару порядков больше

Автор: Dem_max 31.5.2010, 16:14
есть даже патчер драйвера, можно увеличивать, до скольки незнаю. Но это не стандартный метод. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)