我正在编写一个 Java websocket 客户端,它需要知道自己的 IP 地址,这意味着用于连接到服务器端点的接口的 IP 地址。
由于客户端可能会更改地址,因此无论何时(重新)连接到服务器,都必须更新本地地址。这很容易使用 Jetty 的客户端实现,因为它的Session类有一个getLocalAddress()方法。
而泰鲁斯的会话班则缺乏这种能力。一个简单的解决方法是使用普通的旧套接字。每当onOpen
调用客户端时,我只需打开一个到服务器的常规 TCP 套接字,获取套接字的本地地址,然后关闭它。但这很浪费而且容易出错,所以我更愿意深入研究 Tyrus 并从它的套接字中获取本地地址。有没有办法做到这一点?