2016-05-31 73 views
3

意味着它將從本地Web中的許多用戶獲得連接。我怎樣才能得到每個單一連接的IP地址?我使用JSR356。使用ServerEndpoint時獲取客戶端IP地址

@ServerEndpoint(value = "/ws/example") 
public class ExampleServlet { 

    private static final AtomicInteger connectionIds = new AtomicInteger(0); 
    private static final Set<ExampleServlet> connections = new CopyOnWriteArraySet<>(); 
    private Session session; 

    @OnOpen 
    public void start(Session session) { 
     this.session = session; 
     connections.add(this); 
    } 

    @OnClose 
    public void end() { 
    } 

    @OnMessage 
    public void incoming(String message) { 
    } 

    @OnError 
    public void onError(Throwable t) throws Throwable { 
    } 
} 

回答

-1

這對於WebSocket的彈簧 @覆蓋 公共無效afterConnectionEstablished(WebSocketSession會話)拋出異常{ 的System.out.println( 「connectionestablished!」 + session.getLocalAddress());
}

+0

它不是關於jsf,spring.you可以從會話中得到它。 – Ajay

+0

OP使用標準的Java EE,而不是第三方的Spring庫。你根本沒有回答具體的問題。如果您想回答春季問題,請查看春季問題。 – BalusC