Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 179
#1

Socket подключение не работает в другой активности - Android

22.07.2016, 17:17. Просмотров 150. Ответов 3
Метки нет (Все метки)

Проблемма такова: при передачи данных из первой активности не работает передача данных с второй активности и наоборот.
После того как передача данных на первой активности завершена, по определенной команде стартует 2-я активность. Но вот в ней передача уже не происходит. Как я понял, данные доходят до сервера но ответ теряется. При этом, сервер спокойно выдерживает несколько подключений сразу.
При переходе из 1 активности во вторую я закрываю сокет так:
Java
1
2
3
                        dataInputStream.close();
                        dataOutputStream.close();
                        client.close();
flush() и т.д присутствует. В чем может быть проблема? Как полностью убить сокет на 1 активности?
P.S. если перевернуть экран на 2-й активности - передача идет.
Решил запустить отдельно 2-ю активность - все работает, но тогда проблемы с 1-й(

Добавлено через 1 минуту
Завершать активность при переходе на 2 активность пробовал.

Добавлено через 1 час 18 минут
Интересный факт, но отправка данных через вторую активность получается после 0,5-2сек ожидания. Можно ли как-то отследить, когда сервер[я могу ошибаться] готов принимать новые данные?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2016, 17:17     Socket подключение не работает в другой активности
Посмотрите здесь:

Подключение через Socket Android
NullPointerException в дополнительной активности Android
Круг для завершения активности Android
Android Другой кнопкой из дочерней активности изменить фон той кнопки, которая в родительской активити
Android Запуск активности из фрагмента
Запуск другой активности работает на 2.3.3, а на 4.2.2 нет Android
Android Сохранение состояния активности
Android Передать результат в окно другой активности
Socket Android Client and Java Socket Server Android
Эффект затемнения активности Android
Изменение фона активности Android
Android Отслеживание активности

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
powowstal
26 / 26 / 4
Регистрация: 21.03.2013
Сообщений: 246
22.07.2016, 19:08     Socket подключение не работает в другой активности #2
den_droid, Зачем уничтожать сокет, можно ведь его передать 2й активности и продолжать работать. Задержка может быть связана с процедурой авторизации нового сокета. И когда ты закрываешь сокет у себя, сервер нечего об этом не знает и продолжает держать соединение со своей стороны.

Добавлено через 7 минут
Цитата Сообщение от den_droid Посмотреть сообщение
через вторую активность получается после 0,5-2сек ожидания
возможно конект открывается на подобии такого
Java
1
socket.connect(new InetSocketAddress(server, port),2000);
так тут 2000 время ожидания конекта и есть задержка. Предположений много - нужно смотреть код.
_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 533
23.07.2016, 07:11     Socket подключение не работает в другой активности #3
den_droid, как вообще зависит от активности?
ты должен ведь запустить выполнение в отдельном потоке, передать в другой thread можно handler.
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 179
23.07.2016, 13:40  [ТС]     Socket подключение не работает в другой активности #4
Я сделал так: при переходе на 2 активность в ней же запускаю CountDownTimer. И через 2 секунды идет подключение. Работает...
Yandex
Объявления
23.07.2016, 13:40     Socket подключение не работает в другой активности
Ответ Создать тему
Опции темы

Текущее время: 03:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru