0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 4
|
||||||
1 | ||||||
Проверка соединения TCP13.08.2014, 22:19. Показов 3230. Ответов 1
Метки нет (Все метки)
Привет всем!
Пишу MODBUS/TCP-клиент на QNX(POSIX) (есть основной и резервный канал до сервера), с сокетами подружился недавно, в связи с чем у меня есть 2 вопроса: 1. Почему при обрыве соединения мне приходится закрывать предыдущий сокет и заново все действия производить с новым, так как использовать connect еще раз не получается? Может, я что не так делаю или опцию сокета какую не выставил? 2. Так как у сервера 2 канала, оба открыты, а обмен одновременно производится по одному, то каким образом возможно организовать проверку неосновного канала? Если он недоступен, клиент должен делать попытки установить соединение опять, чтобы максимально быстро перейти на него в случае недоступности основного. К тому же, состояние обоих каналов должно отображаться на графической части клиента. Я пытался сделать это так - сокеты сделал неблокирующими (это для обработки текущего канала), чтобы не ждать ответа от сервера годами в случае чего, а также использовал статью из хелпа QNX, в котором рассказывалось об опциях KEEPALIVE. Вот код оттуда:
К сожалению, у меня это не сработало, может, тут есть какие-то особенности? И что означает здесь переменная on?
0
|
13.08.2014, 22:19 | |
Ответы с готовыми решениями:
1
Обрыв соединения, TCP Как в клиенте получить локальный IP-адрес TCP-соединения? Создание последовательного сервера с установлением логического соединения (TCP/IP) Реализовать на tcp сокетах переподключение к tcp серверу в случае потери соединения |
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 4
|
|
15.08.2014, 12:33 [ТС] | 2 |
Пришлось пока сделать через неблокирующие сокеты и фиктивный запрос серверу, но как по мне, зачем загружать сервер лишней обработкой, если можно воспользоваться стандартной возможностью KEEPALIVE, любезно введенной разработчиками сокетов?
Вопрос еще актуален.
0
|
15.08.2014, 12:33 | |
15.08.2014, 12:33 | |
Помогаю со студенческими работами здесь
2
Отладка TCP соединения Не прерываются Tcp соединения Закрытие TCP соединения и TIME_WAIT Закрытие tcp соединения на хосте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |