Я пишу клиент веб-сервера Java, который должен знать свой собственный IP-адрес, что означает IP-адрес интерфейса, используемого для подключения к конечной точке сервера. ,Как получить локальный IP-адрес от клиента веб-камеры Tyrus
Поскольку клиенты могут менять адреса, при каждом подключении к серверу локальный адрес должен быть обновлен. Это легко достигается с помощью клиента Jetty, так как его класс Session имеет метод getLocalAddress().
Tyrus's session class с другой стороны не хватает. Простым обходным путем для этого будет использование простого старого сокета. Всякий раз, когда вызываемый клиент onOpen
, я просто открываю обычный TCP-сокет на сервер, получаю локальный адрес сокета и закрываю его. Но это расточительно и подвержено ошибкам, поэтому я бы скорее заглянул в Тирус и получил локальный адрес из его сокета. Есть ли способ сделать это?
Спасибо. Это хорошее объяснение * почему * это так, но мой вопрос вращается вокруг «* how *». Есть ли какие-либо другие обходные пути, которые вы можете предложить, помимо открытия обычного второго сокета? Может быть, копать вокруг внутренних органов Тира, используя отражение? – Malt
Спецификация JSR356 действительно разработана только для самых наивных и упрощенных случаев использования веб-памяти. Ваши требования уже превышают эту область. –