2016-05-31 9 views
3

Bedeutet, dass es Verbindungen von vielen Benutzern im lokalen Web erhalten wird. Wie kann ich eine IP-Adresse für jede einzelne Verbindung erhalten? Ich benutze JSR356.Erhalten von Client-IP-Adresse bei Verwendung von ServerEndpoint

@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 { 
    } 
} 

Antwort

-1

dies ist für websocket mit Feder @Override öffentlichen afterConnectionEstablished void (WebSocketSession Sitzung) throws Exception { System.out.println ("connectionestablished!" + Session.getLocalAddress());
}

+0

es nicht über jsf, spring.you kann es von der Sitzung bekommen. – Ajay

+0

OP verwendet Standard-Java EE, nicht die Spring-Bibliothek von Drittanbietern. Sie beantworten die konkrete Frage überhaupt nicht. Wenn Sie Spring-Fragen beantworten möchten, suchen Sie nach Spring-Fragen. – BalusC