【发布时间】:2016-01-05 18:31:27
【问题描述】:
我正在编写一个 Java websocket 客户端,它需要知道自己的 IP 地址,这意味着 用于连接到服务器端点的接口的 IP 地址。
由于客户端可能会更改地址,因此无论何时(重新)连接到服务器,都必须更新本地地址。这可以使用 Jetty 的客户端轻松实现,因为它的 Session 类有一个 getLocalAddress() 方法。
另一方面,Tyrus 的 session class缺乏这种能力。一个简单的解决方法是使用普通的旧套接字。每当调用客户端的onOpen 时,我只需打开一个到服务器的常规 TCP 套接字,获取套接字的本地地址,然后将其关闭。但这既浪费又容易出错,所以我更愿意深入研究 Tyrus 并从其套接字中获取本地地址。有没有办法做到这一点?
【问题讨论】:
标签: java sockets websocket jetty tyrus