|
|
|||||
Регистрация: Nov 2012
Сообщений: 7
|
приложение AIR зависает (windows 7)
Здравствуйте, такая проблема:
есть приложение AIR, работающее как сервер. К нему коннектятся клиенты, сервер выполняет определенные функции, отдает информацию. Периодически сервер зависает и расход оперативки резко увеличивается с 50мб до 600 и более. Через некоторое время его "отпускает". Дебагер не показывает большого расхода оперативной памяти, при этом он сам зависает. Из-за чего это может быть? Тестирую локально - все ок, не зависает (т.е. когда сервер установлен локально и запросы идут локально). |
|
|||||
Цитата:
Может быть где-то цикл while используется, который вызывает зависание при определенных условиях. Или слишком много запросов, которые при минимальном пинге на локалке могут успевать пройти нормально, а во внешке начинают копиться и тормозить весь сервер при их обработке. Можно только гадать. п.с. Почему именно AIR? Не самый ведь лучший вариант для сервера, мягко говоря. Кроссплатформенный сервер можно и на джаве сделать очень неплохой. Тем более в AIR нет многопоточности |
|
|||||
Регистрация: Nov 2012
Сообщений: 7
|
air приложение генерирует графический контент, который нужен клиенту. Многопоточность впринципе не нужна, запросов не много, они выполняются по очереди.
Может в таком случае лучше сделать серверную часть на java, которая будет принимать входящие запросы, отправлять данные air приложению, получать ответ и отдавать его подключенному клиенту? Если да, то каким образом лучше связать java c air приложением? |
|
|||||
Что-то не могу понять. Что за эир приложение? Оно не является ни клиентом ни сервером? А чем тогда является?
Цитата:
|
|
|||||
Регистрация: Nov 2012
Сообщений: 7
|
Adobe flash Air приложение, написанное на action script 3. Оно является сервером. Клиент коннектится к нему через сокет, получает сгенерированную картинку. Пул соединений в этом сервере я написал сам. Так вот может лучше взять готовое решение серверной части на java, а текущий сервер (на air) использовать только в качестве генератора картинок? Как в таком случае отправлять данные из java в flash air и получать сгенерированное изображение назад в java, чтоб отдать клиенту ?
|
|
|||||
Цитата:
|
|
|||||
Регистрация: Nov 2012
Сообщений: 7
|
Сервак генерирует прозрачные картинки с использованием 3д движка. Все впринципе работает, устраивает. Поэтому не вижу смысла полностью переписывать под java. Все таки постараюсь выявить проблему в коде. Спасибо за помощь.
|
|
|||||
Ну в любом случае я бы проверил для начала на возможное зацикливание сообщений. Это довольно частый баг. И потом просто на наличие бесконечного цикла, который может, при отсутствии многопоточности, повесить приложение. Мне кажется что этот вариант вполне возможен. Как раз отрабатывает 15 секундный лимит на исполнение скрипта, и работа цикла отваливается. После этого приложение начинает работать как обычно.
|
|
|||||
При подключении клиента к серверу добавляется клиент в пул, но после отключения клиента возможно сервер не удаляет сокет клиента и все данные в нем сопутствующие.
Пробовали по событию отключения удалять сокет из пула и присваивать значение null? |
Часовой пояс GMT +4, время: 06:47. |
|
« Предыдущая тема | Следующая тема » |
|
|