Как вы получаете IP-адрес клиента? (Spring WebFlux WebSocket) - PullRequest
0 голосов
/ 05 июля 2018

Как следует из названия, как вы получаете, так сказать, подробности о соединении. Есть ли способ получить его через WebSocketSession? Я чувствую, что что-то упустил ...

Мне нужен способ, чтобы запретить IP-адреса плохих пользователей, а также я хотел отобразить всех пользователей, которые находятся в сети, на карте (как точка на карте). Мне не нужна помощь, позже мне понадобится помощь в получении IP-адреса клиента.

Я использую Spring WebFlux WebSocket.

РЕДАКТИРОВАТЬ: я создал запрос функции: https://jira.spring.io/browse/SWF-1728

Ответы [ 3 ]

0 голосов
/ 27 июля 2018

Вы можете найти IP-адрес, используя HttpServletRequest, например

 String remoteHost = request.getRemoteHost();
    String remoteAddr = request.getRemoteAddr();
    if (remoteAddr.equals("0:0:0:0:0:0:0:1")) {
        InetAddress localip = java.net.InetAddress.getLocalHost();
        remoteAddr = localip.getHostAddress();
        remoteHost = localip.getHostName();
    }
0 голосов
/ 27 июля 2018

Объект WebSocketSession на основе сервлета предоставляет эту информацию. Это, кажется, отсутствует в реактивном аромате.

Вы должны создать Spring Framework проблему, чтобы запросить это как расширение .

0 голосов
/ 05 июля 2018

WebSocketSession имеет метод getRemoteAddress (), вы можете получить удаленный адрес, используя любую его реализацию.

...