2013-05-03 8 views
3

Я искал какое-то время для ограничения соединений на IP-адрес Netty с использованием класса IPFilter. Однако никаких объяснений JavaDoc для подобных ограничений нет.Ограничить количество подключений на IP-адрес Netty

Единственный способ, который я нашел, - это использовать «ConnectionPerIPLimitUpStreamHandler», выпущенный на jboss два года назад, но Норман Маурер сказал, что он больше не нужен, потому что эта функция была добавлена ​​в класс IPFilter.

Итак, в резюме мне нужно объяснение того, как мы можем ограничить соединения на IP-адрес Netty, используя его класс IPFilter.

ответ

2

кажется мне, как вы можете взять источник OneIpFilterHandler и

1) изменить параллельную карту таким образом, что значения Integer провести подсчет. 2) измените место, где он проверяет IP нового соединения, чтобы разрешить, если счетчик находится ниже порога. 3) измените это место, чтобы увеличить счетчик, когда вы разрешите 4) измените место, где он освобождает IP-адрес, чтобы уменьшить счетчик и удалить запись карты, если ее нуль.

Подумайте о параллельных проблемах через все это.

Я знаю, что это расплывчато. Но его идея. Это может помочь вам.

+0

Да, я думал, что добавление собственного фильтра в конвейер будет единственным способом сделать это, однако я ищу способ «предварительно скомпилированного в-netty», и я прочитал комментарий Нормана Маурера который сказал, что он включен в класс IPFilter. Надеюсь, он сможет решить этот вопрос и решить его. – Tylerian

Смежные вопросы