如何在Java Glassfish的Websocket API中獲取遠程對等體的IP地址?在Websocket API中爲Java EE 7獲取遠程對等體的IP地址
1
A
回答
-1
WebSockets
基於HTTP請求。因此,你很可能延伸出的HttpServlet
或WebSocketServlet
的地方,所以從HttpServletRequest
獲取IP的常用方法應該工作:
例子:
public class WebSocketsServlet extends HttpServlet {
private final WebSocketApplication app = new WebSocketApplication();
@Override
public void init(ServletConfig config) throws ServletException {
WebSocketEngine.getEngine().register(
config.getServletContext().getContextPath() + "/context", app);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("IP: " + req.getRemoteAddr());
super.doGet(req, resp);
}
}
2
你需要投您的套接字會話實例添加到實現標準JSR-356會話接口的TyrusSession。
您可能需要升級Tyrus,因爲我不確定您的版本是否支持此方法。我正在使用Tyrus 1.7,它適用於我。這裏是how to upgrade。
2
另一種基於this answer來解決另一個問題的方法是獲取HandshakeRequest的頭文件。您正在查找的標題是以下任一項。
origin: [IP Address]
x-forwarded-for: [Possibly a separate IP]
只是爲了清楚起見,這裏是我的設置,我怎麼發現這一點:
- WAMP 2.5上MYMACHINE:6060。這託管一個客戶端HTML頁面。
- LabMachine上的Wamp 2.5:6060(正常連接)和LabMachine:6443(安全連接)。這起到代理的作用。
- MyMachine上的GlassFish 4.0:8080(正常)和MyMachine:8181(SSL)。這是終點。
我通過自己的機器,實驗室機器和同事的機器連接到客戶端頁面。在任何情況下,網頁套接字請求的來源頭是
然而,在每種情況下的x轉發主機頭是不同的,相匹配的實際客戶端的IP地址。
相關問題
- 1. 在Python中獲取遠程IP地址
- 2. 在java中獲取遠程tcp連接的ip地址?
- 3. 獲取遠程IP地址型號
- 4. 獲取遠程主機IP地址QTcpServer
- 5. 獲取公共(遠程)IP地址
- 6. 獲取遠程名稱地址(非IP)
- 7. 獲取對等IP地址和端口
- 8. 在Java/Netty中SSL對等驗證失敗時獲取對等IP地址
- 9. 遠程IP地址
- 10. 如何使用Java獲取遠程主機的IP地址
- 11. 爲什麼WebRTC需要遠程對等體的本地IP?
- 12. JAVA獲取IP地址
- 13. 在Java中獲取'外部'IP地址
- 14. 如何在Tower.js中獲取遠程IP地址?
- 15. Netty:在messageReceived中獲取遠程ip地址
- 16. Django:在settings.py中獲取遠程IP地址
- 17. 在node.js中使用UDP和dgram獲取遠程ip地址
- 18. 如何在氮氣中獲取對等IP地址
- 19. 獲取遠程計算機的IP地址和名稱在VB
- 20. 獲取CSLA遠程數據門戶中的IP地址
- 21. 如何獲取Glassfish中遠程EJB客戶端的IP地址?
- 22. 無法獲取sails.js中的遠程IP地址?
- 23. GetExtendedUdpTable和遠程IP地址
- 24. 在java中獲取os名稱,ip地址,mac地址
- 25. 獲取非本地IP地址Java
- 26. 使用遠程計算機獲取遠程計算機的IP地址IP地址
- 27. 難以從Java的插座獲得遠程IP地址/ Android的
- 28. 在Angular Universal中獲取遠程地址
- 29. 獲取IP地址
- 30. 獲取IP地址
這不是用java ee 7 websocket api(見jsr 356); http://java.net/projects/websocket-spec/; http://jcp.org/en/jsr/detail?id=356 –