Для более ясной картины опишу что за сервер и как работает (Это линуксовый сервак для раздачи файлов)- qtcpserver- qtcpsocket (используются асинхронный режим работы - не блокирующийся)- qt462- ubuntu 9.10- qtcreatorАлгоритм работы:1. К серваку подключается клиент - я создаю новый сокет для работы с клиентом (напомню сокет асинхронный).2. Когда приходит запрос от клиента на закачку файла - нахожу это файл или его часть в рабочей директории (в данном случае это другой сервак - т.к. файлов там на 100Gb)3. "Отдаю" файл или его часть клиенту - и отключаюсь от него.В чем проблема:через некоторое время - время коннекта к серваку (например по telnet) сильно возрастает или невозможно подключиться к нему вообще..Предположения:- возрастает кол-во клиентов (хотя это не должно вешать)- из за того что файлы для раздачи находятся на удаленном серваке (т.е. сначало я их качаю - потом раздаю клиенту)- ну еще идея что пока один сокет читает данные из файлы - другие блокируются!Жду от форумчан каких нибудь соображений по этой проблемке! Заранее спасибо!
|