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

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

Войти
Регистрация
Восстановить пароль
 
Arion32
5 / 5 / 1
Регистрация: 17.10.2016
Сообщений: 158
#1

Переподключение Socket при разрырыве - Программирование Android

16.11.2016, 13:58. Просмотров 215. Ответов 5
Метки нет (Все метки)

Подскажите как реализовать переподключение Socket при разрыве соединения.
Пока на ум приходит только timer = new CountDownTimer. Может есть способ лучше?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2016, 13:58     Переподключение Socket при разрырыве
Посмотрите здесь:

Socket - Программирование Android
Как работать с сокетами на Android? Есть литература на эту тему?

Socket AndroiD - Программирование Android
В общем хочу написать сокет (TCP клиент) на андрюху. http://myandroidsolutions.blogspot.ru/2012/07/android-tcp-connection-tutorial.html ...

Не создается Socket - Программирование Android
есть сервер на c#, но не получается законнектиться на него с приложения на Andriod private static final String SERVER_IP = "127.0.0.1"; ...

Socket server over 3g - Программирование Android
Привет. Хотел программу написать, сервер сокет, но что то в сети 3g не работает. Через домашний роутер с wifi и проброс портов все...

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

И снова здравствуй Socket - Программирование Android
Недавнюю проблему с сокетами я решил. теперь возникла другая, суть ее в сл. вот кусочек кода подключения к сокету m_host =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
16.11.2016, 14:36     Переподключение Socket при разрырыве #2
Arion32, если при обращении к сокету вы получаете ошибку, то явно нужно переподключиться. как вставлять дополнительные задержки в лавину обращений к мертвому сокету если он крепко-крепко умер зависит от вашей задачи.
Arion32
5 / 5 / 1
Регистрация: 17.10.2016
Сообщений: 158
16.11.2016, 15:07  [ТС]     Переподключение Socket при разрырыве #3
правильно ли переподключать таким образом?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
timer = new CountDownTimer(36000* 1000, 1000) { // крутит каждую секунду в течении 36 000 секунд
 
            public void onTick(long millisUntilFinished) {
                if (ClientSocket.stopping == 1) { // отслеживание не упал ли сокет
 
                   connectionLaunch(); // подключение если он упал
 
                   }
             }
            public void onFinish() {
               // по истечению времени перезапуск приложения. Подскажите как сделать :)
            }
 
       }.start();
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
16.11.2016, 15:15     Переподключение Socket при разрырыве #4
Arion32, правильно так
1 наш код подходит к моменту когда он ХОЧЕТ обратиться к сокету
2 БАБАХ!! ошибка! очевидно что случилось ужасное - сокет умер
3 мы переподключаемся и пробуем выполнить код снова
4 ...
Arion32
5 / 5 / 1
Регистрация: 17.10.2016
Сообщений: 158
16.11.2016, 15:27  [ТС]     Переподключение Socket при разрырыве #5
Java
1
 if (ClientSocket.stopping == 1) {
получается мне это нужно крутить перед каждым действием с сокетом?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2016, 15:38     Переподключение Socket при разрырыве
Еще ссылки по теме:

Задать IP для Socket - Программирование Android
Добрый день подскажите как реализовать возможность ввода IP адреса для открытия Socketa. Планируется простой TCP клиент. Main активитии...

Socket догрузка файла - Программирование Android
java.lang.ArrayIndexOutOfBoundsException: length=1024; regionStart=20000; regionLength=1024 //f_s - сколько было закачено байт ...

Socket Server, Client - Программирование Android
Доброго времени суток. Решил разобраться с сокетами. Но почему-то сообщения не приходят... Клиент: messsage = "Test"; client...

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

Сеть через Socket - Программирование Android
Есть программа (клиент), которая должна подключить к серверу, а он передаст ip других серверов и вообщем нужно иметь несколько подключений...

Проверка Socket на наличие соединения - Программирование Android
Помогите сделать проверку сокета перед подключением. public void onClick(View view) { if (socket.isClosed()) { socket = new...


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

Или воспользуйтесь поиском по форуму:
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
16.11.2016, 15:38     Переподключение Socket при разрырыве #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Arion32, я делаю так
Java
1
2
//если сокет == null, то подключаемся; иначе - мы уже подключены
//тут код который использует сокет - если во время работы с сокетом была ошибка, то закрываем его и присваиваем null
Yandex
Объявления
16.11.2016, 15:38     Переподключение Socket при разрырыве
Ответ Создать тему
Опции темы

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