![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
eXtremal7 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
Есть софт, который использует соединение через COM-порт по протоколу IP(поверх PPP). В софте этом требуется отображать статус соединения, что сводится к циклическому опросу(скорее всего) бита DCD. Для тестирования запускаю следующий код:
Если запускать после установки соединения - как бы и работает, но если сначала пустить подобный код, а уже потом pppd - то тут облом, вылезает ошибка функции tcgetaddr(требуется, чтоб больше никто устройство /dev/ttySx кроме pppd в данный момент не использовал). Примерно то же самое и с приложением setserial, если пытаться изменить какие-нибудь параметры порта. Есть ли выход из положения? Может использовать какие-нибудь данные директории /proc, или указывать некие особые параметры функции open при открытии файла /dev/ttySx или при старте pppd? Проверять статус соединения на уровне IP не подходит, т.к. на другом конце есть находится некий ретранслятор, который вообще не понимает в каком формате идут через него данные(т.е. обычный пинг не покатит). |
|||
|
||||
Tima22 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 21.7.2010 Репутация: нет Всего: 1 |
Не могу сказать как это делается, но ppp сам знает своё состояние. Тебе надо только спросить у IPCP ( ip control plane ) "как дела?". LCP знает состояние самого линка
Это сообщение отредактировал(а) Tima22 - 22.7.2010, 16:58 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |