/[projects]/miscJava/Test3/src/dk/thoerup/websocket/AnnotatedSocket.java
ViewVC logotype

Annotation of /miscJava/Test3/src/dk/thoerup/websocket/AnnotatedSocket.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2107 - (hide annotations) (download)
Tue Feb 11 08:33:52 2014 UTC (10 years, 3 months ago) by torben
File size: 1205 byte(s)
Working annotated websocket example
1 torben 2107 package dk.thoerup.websocket;
2    
3     import java.io.IOException;
4     import java.util.HashMap;
5    
6     import javax.websocket.CloseReason;
7     import javax.websocket.EndpointConfig;
8     import javax.websocket.OnClose;
9     import javax.websocket.OnError;
10     import javax.websocket.OnMessage;
11     import javax.websocket.OnOpen;
12     import javax.websocket.Session;
13     import javax.websocket.server.ServerEndpoint;
14    
15    
16     @ServerEndpoint("/wstest")
17     public class AnnotatedSocket {
18     static private HashMap<String, Session> sessions = new HashMap<String,Session>();
19    
20    
21     @OnOpen
22     public void open(Session session, EndpointConfig conf) {
23     sessions.put(session.getId(), session);
24     }
25    
26     @OnError
27     public void error(Session session, Throwable error) {
28     }
29    
30     @OnClose
31     public void close(Session session, CloseReason reason) {
32     sessions.remove(session.getId());
33     }
34    
35    
36     @OnMessage
37     public void onMessage(Session session, String msg) {
38     try {
39     for(Session ses: sessions.values() ) {
40     ses.getBasicRemote().sendText( session.getId() + " > " + msg);
41     }
42     System.out.println("Returned msg: " + msg);
43     } catch (IOException e) {
44     System.out.println("Error returning message " + e.getMessage() );
45     }
46     }
47     }

  ViewVC Help
Powered by ViewVC 1.1.20