• 0
Сергей Сергеев

Как прервать SQLConnection ? Android

Вопросы

Добрый день!

Использую для коннекта с сервером Datasnap TsqlConnection.

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

при этом кнопка "Войти"  остается в нажатом состоянии..  ( по ней делается sqlconn.open ) 

интерфейс блокируется и нажать какой нибудь 'cancel' не получается.

Думаю это потому, что Android выполняет соединение в основном потоке.. и пока не вернется из недр connect ( по тайм ауту к примеру)

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

Кто делал нечто подобное, жду мудрых советов .. заранее спасибо..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 ответов на этот вопрос

  • 0
3 часа назад, Сергей Сергеев сказал:

Добрый день!

Использую для коннекта с сервером Datasnap TsqlConnection.

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

при этом кнопка "Войти"  остается в нажатом состоянии..  ( по ней делается sqlconn.open ) 

интерфейс блокируется и нажать какой нибудь 'cancel' не получается.

Думаю это потому, что Android выполняет соединение в основном потоке.. и пока не вернется из недр connect ( по тайм ауту к примеру)

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

Кто делал нечто подобное, жду мудрых советов .. заранее спасибо..

 

Не скромный вопрос, а зачем держать соединение постоянно открытым???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
23 часа назад, Vitaldj сказал:

Не скромный вопрос, а зачем держать соединение постоянно открытым???

так работает datasnap, сессия

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

ну никто не заставлял Connection запускать в основном потоке

создавайте поток, отдавайте ему ссылку на Datamodule и пусть фигачит себе ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
6 часов назад, krapotkin сказал:

ну никто не заставлял Connection запускать в основном потоке

создавайте поток, отдавайте ему ссылку на Datamodule и пусть фигачит себе ))

И садит батарею)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
14 минут назад, krapotkin сказал:

а в основном жалеет ее что-ли?

Да нет, я про то, что написал вверху:

 

В 25.09.2016 в 23:51, Vitaldj сказал:

а зачем держать соединение постоянно открытым???

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

соединение, зараза, долгая операция относительно вызова функции. поэтому все, в т.ч. браузеры его держат, сколько возможно.

у меня в программе Datasnap коннект тоже держится. и поднимается заново, если  он был потерян.

но других средств против заморозки интерфейса, кроме выноса в другой поток, не существует

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В Tuesday, September 27, 2016 в 09:29, krapotkin сказал:

соедин пклиента ение, зараза, долгая операция относительно вызова функци и. поэтому все, в т.ч. браузеры его держат, сколько возможно.

у меня в программе Datasnap коннект тоже держится. и поднимается заново, если  он был потерян.

но других средств против заморозки интерфейса, кроме выноса в другой поток, не существует

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу