サーバーエンドポイントへの接続に使用されるインターフェースの IP アドレスを意味する、独自の IP アドレスを認識する必要がある Java Websocket クライアントを作成しています。
クライアントはアドレスを変更する可能性があるため、サーバーに (再) 接続するたびに、ローカル アドレスを更新する必要があります。SessionクラスにはgetLocalAddress()メソッドがあるため、これは Jetty のクライアントを使用して簡単に実現できます。
一方、Tyrus のセッション クラスには、この機能がありません。これに対する簡単な回避策は、単純な古いソケットを使用することです。クライアントが呼び出されるたびonOpen
に、サーバーへの通常の TCP ソケットを開き、ソケットのローカル アドレスを取得してから閉じます。しかし、それは無駄でエラーが発生しやすいので、むしろ Tyrus を掘り下げてソケットからローカル アドレスを取得したいと思います。それを行う方法はありますか?