Если у вас обрыв связи, то реконнект сделать не получится - будет ошибка 56. Точка. И думать, что там произошло, бесполезно. Это никак на ситуацию не повлияет, остается только пытаться делать реконнект через определенные промежутки времени. Канал пингования дублирует функционал, который обеспечивает корректная обработка ошибок основного канала.Сделать реконект и выжидать N секунд?Опять получить ошибку таймаута и начать думать "А что же там могло произойти???".
Странности TCP
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Странности TCP
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Странности TCP
Что-то вы разошлись, господа соратники :)
На стороне контроллера как раз сложностей нет: раз данные ценные, значит они должны быть в безопасности.
Пакеты отправляются раз в минуту.
После отправки очередного пакета контроллер ждёт от сервера подтверждения, если оно не пришло, соединение закрывается и данные записываются в файл. Если связи нет, данные продолжают писаться в файл. Как только связь появилась, пошли и онлайн данные, и история. Каждый пакет имеет метку времени, так что с их порядком следования проблем нет.
А вот на стороне сервера сложности. Начинают плодиться клоны.
Но в итоге сделал, как и советуете: контроллер раз в секунду напоминает, что он ещё живой. Теперь таймаут равносилен потере связи.
А т.к. защита данных на стороне контроллера уже реализована, то систему достаточно было допилить надфилем. Теперь всё работает нормально, при вытаскивании провода сервер тоже закрывает соединение и успокаивается.
На стороне контроллера как раз сложностей нет: раз данные ценные, значит они должны быть в безопасности.
Пакеты отправляются раз в минуту.
После отправки очередного пакета контроллер ждёт от сервера подтверждения, если оно не пришло, соединение закрывается и данные записываются в файл. Если связи нет, данные продолжают писаться в файл. Как только связь появилась, пошли и онлайн данные, и история. Каждый пакет имеет метку времени, так что с их порядком следования проблем нет.
А вот на стороне сервера сложности. Начинают плодиться клоны.
Но в итоге сделал, как и советуете: контроллер раз в секунду напоминает, что он ещё живой. Теперь таймаут равносилен потере связи.
А т.к. защита данных на стороне контроллера уже реализована, то систему достаточно было допилить надфилем. Теперь всё работает нормально, при вытаскивании провода сервер тоже закрывает соединение и успокаивается.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Странности TCP
Но в итоге сделал, как и советуете: контроллер раз в секунду напоминает, что он ещё живой. Теперь таймаут равносилен потере связи.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 15 Ответы
- 4579 Просмотры
-
Последнее сообщение Kirya
-
- 38 Ответы
- 13222 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 5 Ответы
- 240 Просмотры
-
Последнее сообщение IvanLis