xref: /unit/test/java/websockets_mirror/app.java (revision 1158:9610732f92e4)
1 import java.io.IOException;
2 import java.nio.ByteBuffer;
3 
4 import javax.websocket.OnMessage;
5 import javax.websocket.OnOpen;
6 import javax.websocket.PongMessage;
7 import javax.websocket.Session;
8 import javax.websocket.server.ServerEndpoint;
9 
10 @ServerEndpoint("/")
11 public class app {
12 
13     @OnOpen
onOpen(Session session)14     public void onOpen(Session session) {
15         session.setMaxTextMessageBufferSize(8388608);
16     }
17 
18     @OnMessage
echoTextMessage(Session session, String msg)19     public void echoTextMessage(Session session, String msg) {
20         try {
21             if (session.isOpen()) {
22                 session.getBasicRemote().sendText(msg, true);
23             }
24         } catch (IOException e) {
25             try {
26                 session.close();
27             } catch (IOException e1) {
28                 // Ignore
29             }
30         }
31     }
32 
33     @OnMessage
echoBinaryMessage(Session session, ByteBuffer bb)34     public void echoBinaryMessage(Session session, ByteBuffer bb) {
35         try {
36             if (session.isOpen()) {
37                 session.getBasicRemote().sendBinary(bb, true);
38             }
39         } catch (IOException e) {
40             try {
41                 session.close();
42             } catch (IOException e1) {
43                 // Ignore
44             }
45         }
46     }
47 
48     /**
49      * Process a received pong. This is a NO-OP.
50      *
51      * @param pm    Ignored.
52      */
53     @OnMessage
echoPongMessage(PongMessage pm)54     public void echoPongMessage(PongMessage pm) {
55         // NO-OP
56     }
57 }
58