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

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

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

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

22.07.2016, 17:17. Просмотров 189. Ответов 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сек ожидания. Можно ли как-то отследить, когда сервер[я могу ошибаться] готов принимать новые данные?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2016, 17:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Socket подключение не работает в другой активности (Программирование Android):

Запуск другой активности работает на 2.3.3, а на 4.2.2 нет - Программирование Android
Задача: запустить активность другого приложения через am Делаю: создаю метод StartOtherActivity() и запускаю его, в манифест новый интент...

Передать результат в окно другой активности - Программирование Android
При нажатии на конкретный элемент . Прошу Сильно не пинать .Только учусь. public class MainActivity extends Activity implements...

Другой кнопкой из дочерней активности изменить фон той кнопки, которая в родительской активити - Программирование Android
Вот такая проблема: у меня в главной активности есть кнопка, как мне другой кнопкой из дочерней активности изменить фон той кнопки, которая...

Изменение настроек приложения из активности в рамках активности - Программирование Android
Друзья, помогите разобраться! имею наработки приложения-рисовалки, там есть у меня там активити (mainactivity) настроек, оттуда...

Подключение через Socket - Программирование Android
Недавно начал изучать разработку под андроид и вот поставили задачу написать некий клиент, который должен коннектиЦа через сокет на...

Socket.io (прослушивание события работает на Desktop и не работает на Android) - Программирование Android
Есть метод, прослушивающий событие сервера по soket.io (import io.socket.client.Ack; import io.socket.client.IO; import...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 346
22.07.2016, 19:08 #2
den_droid, Зачем уничтожать сокет, можно ведь его передать 2й активности и продолжать работать. Задержка может быть связана с процедурой авторизации нового сокета. И когда ты закрываешь сокет у себя, сервер нечего об этом не знает и продолжает держать соединение со своей стороны.

Добавлено через 7 минут
Цитата Сообщение от den_droid Посмотреть сообщение
через вторую активность получается после 0,5-2сек ожидания
возможно конект открывается на подобии такого
Java
1
socket.connect(new InetSocketAddress(server, port),2000);
так тут 2000 время ожидания конекта и есть задержка. Предположений много - нужно смотреть код.
0
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 586
23.07.2016, 07:11 #3
den_droid, как вообще зависит от активности?
ты должен ведь запустить выполнение в отдельном потоке, передать в другой thread можно handler.
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
23.07.2016, 13:40  [ТС] #4
Я сделал так: при переходе на 2 активность в ней же запускаю CountDownTimer. И через 2 секунды идет подключение. Работает...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2016, 13:40
Привет! Вот еще темы с ответами:

Socket Android Client and Java Socket Server - Программирование Android
Доброго времени суток.Пытаюсь сделать простое клиент-серверное приложение. Клиент - приложение на Android устройстве. Сервер - Приложение...

Socket перенаправить в другой Socket - C#
Доброго всем. Что делаю: Принимаю запрос, который нужно перенаправить к удаленному компьютеру. Получается прокси, который...

Мониторинг активности пользователей -> Монитор активности в Интернет - C++ Builder
Пишу дипломную на тему "Мониторинг активности пользователей". Кейлоггеры всякие, скриннеры, мониторы процессов, действий и т.д. Хотелось бы...

Повторное socket подключение - Node.js
Я открыл страницу один раз. Через пару минут в консоли было несколько логов о коннекте, хотя должен быть один. Почему так и как это...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.07.2016, 13:40
Ответ Создать тему
Опции темы

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