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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2107 - (show 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 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