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/