Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Arion32
5 / 5 / 1
Регистрация: 17.10.2016
Сообщений: 172
#1

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

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

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

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

Зависает socket при отключении WIFI
Добрый день! Столкнулся с проблемой, если выключаю wifi на устройстве server то...

Переподключение при дисконекте (сокеты)
Есть подключение к серверу по средствам сокета, дисконект отлавливается по...

Переподключение к интернету при нажатии на клавишу
Допустим консольное приложение и при нажатие на клавишу интернет сам...

Переподключение при если не отвечает сервер TidTCPClient
Вообщем у делаю многократное подключение на сервер. Все подключается но потом...

Проверка состояния Wi-Fi-подключения и переподключение при обрыве связи
Здравствуйте, сразу оговорюсь - я не программист и не администратор, но что...

5
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
16.11.2016, 14:36 #2
Arion32, если при обращении к сокету вы получаете ошибку, то явно нужно переподключиться. как вставлять дополнительные задержки в лавину обращений к мертвому сокету если он крепко-крепко умер зависит от вашей задачи.
0
Arion32
5 / 5 / 1
Регистрация: 17.10.2016
Сообщений: 172
16.11.2016, 15:07  [ТС] #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();
0
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
16.11.2016, 15:15 #4
Arion32, правильно так
1 наш код подходит к моменту когда он ХОЧЕТ обратиться к сокету
2 БАБАХ!! ошибка! очевидно что случилось ужасное - сокет умер
3 мы переподключаемся и пробуем выполнить код снова
4 ...
0
Arion32
5 / 5 / 1
Регистрация: 17.10.2016
Сообщений: 172
16.11.2016, 15:27  [ТС] #5
Java
1
 if (ClientSocket.stopping == 1) {
получается мне это нужно крутить перед каждым действием с сокетом?)
0
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
16.11.2016, 15:38 #6
Лучший ответ Сообщение было отмечено Arion32 как решение

Решение

Arion32, я делаю так
Java
1
2
//если сокет == null, то подключаемся; иначе - мы уже подключены
//тут код который использует сокет - если во время работы с сокетом была ошибка, то закрываем его и присваиваем null
1
16.11.2016, 15:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2016, 15:38
Привет! Вот еще темы с решениями:

Невозможно создать Socket: Socket sock = new Socket(someHostString,somePortInt);
Народ! Помогите пожалуйста. Вся красота губится на exception что выскакивает в...

Посоветуйте i5-7600 (Socket 1151) или i7-6800 (Socket 2011-3)
Посоветуйте, что взять i7-7700 (Socket 1151) или i7-6800 (Socket 2011-3) ...

Assembler linux. Socket recv and socket send invalid arguments
Пишу шеллкод. Он ожидает подключения с 2222 порта, сам подключается на 1111...

Совместимость AMd athlon 2 x2 245 socket am3 к материнке ht2000 k8m890m-m socket am2
Подойдет ли проц AMd athlon 2 x2 245 socket am3 к материнке ht2000 k8m890m-m...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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