簡單的任務。我使用jetty實現的websockets服務器,我必須獲取客戶端IP地址,但我不知道如何。jetty 8 - websockets:如何獲取客戶端IP地址?
2
A
回答
5
我認爲這是相同的,因爲它始終是,從HTTPServletRequest#getRemoteAddr()
搶IP這樣的:
public class WSServlet extends WebSocketServlet {
...
...
@Override
public WebSocket doWebSocketConnect(HttpServletRequest req, String str) {
System.out.println("IP: "+ req.getRemoteAddr());
...
}
}
0
如果你需要它的認證的目的,你可以這樣說:
這只是一個例子:
@Override
public boolean canPublish(BayeuxServer server, ServerSession client,
ServerChannel channel, ServerMessage messsage) {
//
BayeuxContext context=server.getContext();
System.out.println(context.getRemoteAddress());
return true;
}
請記住,getRemoteAddress
返回一個字符串InetSocketAddress
。所以,你也有港口,這看起來是這樣的:
/79.111.111.22:49372
0
沒有WebServletSocket:
public static String getClientIp(Session session) {
String ip = session.getUserProperties().get("javax.websocket.endpoint.remoteAddress").toString();
int i1 = ip.indexOf("/");
int i2 = ip.indexOf(":");
return ip.substring(i1 + 1, i2);
}
相關問題
- 1. 如何獲取客戶端IP地址
- 2. 如何獲取客戶端IP地址
- 3. Spring Websockets STOMP - 獲取客戶端IP地址
- 4. 如何使用Node.js中的WebSocket(websockets/ws)庫獲取客戶端IP地址?
- 5. 如何在php中獲取客戶端ip地址和端口?
- 6. 如何獲取客戶端/用戶的IP地址?
- 7. 如何在客戶端自動獲取客戶端的IP地址c
- 8. ServerSocket +客戶端套接字 - 如何獲取客戶端的IP地址?
- 9. 始終從Servlet獲取客戶端IP地址:: 1的地址
- 10. WebClient客戶端IP地址
- 11. Azure客戶端IP地址
- 12. 客戶端ip地址
- 13. 如何獲取ring-clojure中的客戶端IP地址?
- 14. 如何獲取blazeDS客戶端的ip地址
- 15. 如何在客戶端使用IP地址獲取GMT時間?
- 16. 如何在socket.io中獲取客戶端IP地址
- 17. 如何使用socket.io獲取客戶端IP地址?
- 18. 如何獲取Glassfish中遠程EJB客戶端的IP地址?
- 19. 如何在Grails控制器中獲取客戶端IP地址?
- 20. 如何使用jQuery獲取客戶端IP地址
- 21. 如何使用TcpClient獲取客戶端IP地址?
- 22. 如何獲取Node.js中連接客戶端的IP地址?
- 23. Ruby on Rails:如何獲取客戶端IP地址
- 24. WICKET:如何獲取客戶端的IP /地址
- 25. 如何在.net中獲取客戶端IP地址?
- 26. 如何使用Oracle APEX獲取遠程客戶端IP地址?
- 27. 如何在R Plumber中獲取客戶端IP地址
- 28. 如何獲取客戶端的公網IP地址
- 29. 如何使用libssh獲取客戶端ip地址
- 30. 如何獲取Play中客戶端的IP地址!框架2.0?
這不使用IPv6地址的工作。更好的是InetSocketAddress ip =(InetSocketAddress)session.getUserProperties()。get(「javax.websocket.endpoint.remoteAddress」); return ip.getAddress()。getHostAddress(); – Horcrux7 2016-11-24 12:54:03