forum.bitel.ru http://forum.bitel.ru/ |
|
[6.2] DhcpProtocolHandler http://forum.bitel.ru/viewtopic.php?f=44&t=12456 |
Страница 1 из 1 |
Автор: | borisk [ 18 май 2017, 15:59 ] |
Заголовок сообщения: | [6.2] DhcpProtocolHandler |
Добрый день! На сети есть разные модели коммутаторов, и у них разные индексы для interfaceId в опции 82. Имеется в виду что какие-то коммутаторы считают порты с 0, какие-то с 1. Да, можно конечно сделать разные типы устройств и описать нужное там. Но вот что-то взбрендилось мне написать универсальных handler, который в настройках будет иметь опцию fisrt.index и устанавливать в preprocessDhcpRequest уже "универсальное" значение под общий шаблон. И вот тут столкнулся с небольшой проблемой - а именно, как преобразовать произвольное число байт в Integer и обратно? Т. е. в опции у меня, допустим, 2 байта на интерфейс, мне надо получить из них Integer, сделать нам ним математические преобразования, а потом, получается этот Integer надо запихнуть правильно в DhcpPacket.setOption(InetDhcpProcessor.INTERFACE_ID, ???) |
Автор: | Amir [ 24 май 2017, 17:10 ] |
Заголовок сообщения: | Re: [6.2] DhcpProtocolHandler |
Можно просто передать туда [setOption(InetDhcpProcessor.INTERFACE_ID, ???)] массив байт или ByteBuffer. Если будет больше 4 байт, то использует только первые 4. Также есть метод ru.bitel.bgbilling.modules.inet.api.server.InetUtils.parseInt(byte[], int, int) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |