![]() |
|
||||||||||
|
|||||
|
[+4 06.05.14]
|
Дабы развеять сомнения спрошу, вдруг кто знает.
Имеем подписку на коннект и дисконнект для netConnection. При обрыве связи честно отрабатывает дисконнект. Вешаем таймер ожидания подключения, когда связь появляется - честно отрабатывает коннект, НО затем сразу снова дисконнект и коннект, это происъходит не каждый раз. Так вот, я думаю это сервер обрывает сам соединение. Так ли это ? Добавлено через 5 минут Для наглядности код private function onDisconnect(e:ServerEvents):void { if (this._reconnection) return; this._view.createReconnect(); this._reconnection = true; this._reconnectionTimer.start(); } private function onConnect(e:ServerEvents):void { trace('Connection success'); if (this._reconnection) { this._reconnection = false; this._reconnectionTimer.reset(); setTimeout(this._server.doReloadSession , 3000); return; } } private function tryReconnect(e:TimerEvent):void { if (this._reconnectionTimer.currentCount == this._reconnectionLimit) { this._reconnectionTimer.reset(); return; } this._server.connect(Config.SERVER_WEB); }
__________________
Марк Tween |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 319
|
по идее, сервер не должен сам обрывать соединение. попробуй
поставить в tryReconnect, может таймер срабатывает в подключенном состоянии просто и происходит дисконнект и коннект
|
|
|||||
|
[+4 06.05.14]
|
Таймер не может срабатывать, я по коду показал, что ресеты таймера стоят аккуратно. Причем ситуация происходит не каждый раз.
Добавлено через 2 минуты P.s. чем черт не шутит - поставил проверку и там, толку 0. Как и думал ![]() Добавлено через 4 минуты Тоесть выглядит это приблизительно так ( почти моментально вылетает стек ) : #SERVER : onDisconnect [ ] // сам обрубил Connection success #SERVER : onDisconnect [ ] // само обрубилось , от лукавого
__________________
Марк Tween |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 319
|
можешь больше кода скинуть, откуда ServerEvents приходит? что делает this._server.doReloadSession?
|
|
|||||
|
[+4 06.05.14]
|
Nooob - да нет смысла. Проблема оказалась слегка в другом, в понимании скорее. Дисконнекта не было , было failed сообщение, которое я принимал за дисконнект.
Тем неменее осталась проблема в том, что сервер ловит этот дисконнект с различной задержкой от 5 до 10 сек и выше. А релоад сешн надо вызвать ПОСЛЕ того, как он его поймал. Вот будем видимо искать, как на сервере убрать эту задержку.... беда
__________________
Марк Tween |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|