Example usage for org.springframework.web.socket WebSocketSession sendMessage

List of usage examples for org.springframework.web.socket WebSocketSession sendMessage

Introduction

In this page you can find the example usage for org.springframework.web.socket WebSocketSession sendMessage.

Prototype

void sendMessage(WebSocketMessage<?> message) throws IOException;

Source Link

Document

Send a WebSocket message: either TextMessage or BinaryMessage .

Usage

From source file:fi.vtt.nubomedia.kurento.Ar3DHandler.java

private void sendError(WebSocketSession session, String message) {
    try {// www .  j  a  v a 2s  .co m
        JsonObject response = new JsonObject();
        response.addProperty("id", "error");
        response.addProperty("message", message);
        session.sendMessage(new TextMessage(response.toString()));
    } catch (IOException e) {
        log.error("Exception sending message", e);
    }
}

From source file:dk.apaq.orderly.CallHandler.java

private synchronized void viewer(final WebSocketSession session, BroadcastMessage message) throws IOException {
    if (presenterUserSession == null || presenterUserSession.getWebRtcEndpoint() == null) {
        BroadcastMessageResponse response = new BroadcastMessageResponse(BroadcastMessageType.ViewerResponse,
                BroadcastMessageResponseType.Rejected,
                "No active sender now. Become sender or . Try again later ...");
        session.sendMessage(new TextMessage(objectMapper.writeValueAsString(response)));
    } else {/*w ww.j  a  v  a  2s  . c o m*/
        if (viewers.containsKey(session.getId())) {
            BroadcastMessageResponse response = new BroadcastMessageResponse(
                    BroadcastMessageType.ViewerResponse, BroadcastMessageResponseType.Rejected,
                    "You are already viewing in this session.");
            session.sendMessage(new TextMessage(objectMapper.writeValueAsString(response)));
            return;
        }
        UserSession viewer = new UserSession(session, objectMapper);
        viewers.put(session.getId(), viewer);

        WebRtcEndpoint nextWebRtc = new WebRtcEndpoint.Builder(pipeline).build();

        nextWebRtc.addOnIceCandidateListener(new EventListener<OnIceCandidateEvent>() {

            @Override
            public void onEvent(OnIceCandidateEvent event) {
                BroadcastMessageResponse response = new BroadcastMessageResponse(
                        BroadcastMessageType.IceCandidate,
                        dk.apaq.orderly.model.IceCandidate.fromOrg(event.getCandidate()));
                try {
                    synchronized (session) {
                        session.sendMessage(new TextMessage(objectMapper.writeValueAsString(response)));
                    }
                } catch (IOException e) {
                    log.debug(e.getMessage());
                }
            }
        });

        viewer.setWebRtcEndpoint(nextWebRtc);
        presenterUserSession.getWebRtcEndpoint().connect(nextWebRtc);
        String sdpOffer = message.getSdpOffer();
        String sdpAnswer = nextWebRtc.processOffer(sdpOffer);

        BroadcastMessageResponse response = new BroadcastMessageResponse(BroadcastMessageType.ViewerResponse,
                BroadcastMessageResponseType.Accepted);
        response.setSdpAnswer(sdpAnswer);

        synchronized (session) {
            viewer.sendMessage(response);
        }
        nextWebRtc.gatherCandidates();
    }
}

From source file:org.kurento.tutorial.one2manycall.CallHandler.java

private synchronized void viewer(final WebSocketSession session, JsonObject jsonMessage) throws IOException {
    if (presenterUserSession == null || presenterUserSession.getWebRtcEndpoint() == null) {
        JsonObject response = new JsonObject();
        response.addProperty("id", "viewerResponse");
        response.addProperty("response", "rejected");
        response.addProperty("message", "No active sender now. Become sender or . Try again later ...");
        session.sendMessage(new TextMessage(response.toString()));
    } else {//from www . jav  a2 s. c  om
        if (viewers.containsKey(session.getId())) {
            JsonObject response = new JsonObject();
            response.addProperty("id", "viewerResponse");
            response.addProperty("response", "rejected");
            response.addProperty("message", "You are already viewing in this session. "
                    + "Use a different browser to add additional viewers.");
            session.sendMessage(new TextMessage(response.toString()));
            return;
        }
        UserSession viewer = new UserSession(session);
        viewers.put(session.getId(), viewer);

        WebRtcEndpoint nextWebRtc = new WebRtcEndpoint.Builder(pipeline).build();

        nextWebRtc.addIceCandidateFoundListener(new EventListener<IceCandidateFoundEvent>() {

            @Override
            public void onEvent(IceCandidateFoundEvent event) {
                JsonObject response = new JsonObject();
                response.addProperty("id", "iceCandidate");
                response.add("candidate", JsonUtils.toJsonObject(event.getCandidate()));
                try {
                    synchronized (session) {
                        session.sendMessage(new TextMessage(response.toString()));
                    }
                } catch (IOException e) {
                    log.debug(e.getMessage());
                }
            }
        });

        viewer.setWebRtcEndpoint(nextWebRtc);
        presenterUserSession.getWebRtcEndpoint().connect(nextWebRtc);
        String sdpOffer = jsonMessage.getAsJsonPrimitive("sdpOffer").getAsString();
        String sdpAnswer = nextWebRtc.processOffer(sdpOffer);

        JsonObject response = new JsonObject();
        response.addProperty("id", "viewerResponse");
        response.addProperty("response", "accepted");
        response.addProperty("sdpAnswer", sdpAnswer);

        synchronized (session) {
            viewer.sendMessage(response);
        }
        nextWebRtc.gatherCandidates();
    }
}

From source file:com.devicehive.websockets.AbstractWebSocketHandler.java

@Override
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
    logger.error("Error in session " + session.getId(), exception);
    JsonMessageBuilder builder;/*from   w  w  w  . ja  va  2 s.co  m*/

    session = sessionMonitor.getSession(session.getId());

    if (exception instanceof JsonParseException) {
        builder = JsonMessageBuilder.createErrorResponseBuilder(HttpServletResponse.SC_BAD_REQUEST,
                "Incorrect JSON syntax");
    } else {
        builder = JsonMessageBuilder.createErrorResponseBuilder(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                "Internal server error");
    }
    session.sendMessage(new TextMessage(GsonFactory.createGson().toJson(builder.build())));
}

From source file:com.github.mrstampy.gameboot.otp.websocket.OtpEncryptedWebSocketHandler.java

/**
 * Process for binary.//  w w w  .j a v a2  s.  co m
 *
 * @param session
 *          the session
 * @param msg
 *          the msg
 * @throws Exception
 *           the exception
 */
protected void processForBinary(WebSocketSession session, byte[] msg) throws Exception {
    OtpKeyRequest message = converter.fromJson(msg);

    if (!validateChannel(session, message))
        return;

    Response r = processor.process(message);

    if (r == null || !r.isSuccess()) {
        log.error("Unexpected response {}, disconnecting {}", r, session);
        session.close();
        return;
    }

    BinaryMessage bm = new BinaryMessage(converter.toJsonArray(r));
    session.sendMessage(bm);

    log.debug("Successful send of {} to {}", message.getType(), session.getRemoteAddress());

    Thread.sleep(50);
    session.close(CloseStatus.NORMAL);
}

From source file:cn.com.inhand.devicenetworks.ap.websocket.WSDNAccessPoint.java

/**
 * ?Inboxlogout/*from  ww  w.jav a 2  s.c  om*/
 *
 * @param logout
 */
private void onUnkownMsg(DNMessage msg, WebSocketSession session, WSDNSession wsdnsn)
        throws IOException, PacketException {
    List list = new ArrayList();
    list.add(new Parameter("result", "23009"));
    list.add(new Parameter("reason", "" + wsdnsn.getAssetid() + "@" + wsdnsn.getLast_msg()));
    DNMessage ack = new DNMessage(msg.getName(), "response", msg.getTxid(), list);
    session.sendMessage(new TextMessage(new String(parser.wrap(ack))));
    list.clear();
    wsdnsn.setSession(session);
    wsdnsn.setLast_msg(System.currentTimeMillis());
}

From source file:cn.com.inhand.devicenetworks.ap.websocket.WSDNAccessPoint.java

/**
 * ?Inbox/*from   w  ww  . ja  v a2s.  c  o m*/
 *
 * @param heartBeat
 */
private void onHeartbeat(DNMessage heartbeat, WebSocketSession session, WSDNSession wsdnsn)
        throws IOException, PacketException {

    List list = new ArrayList();
    list.add(new Parameter("result", "0"));
    list.add(new Parameter("reason", "" + wsdnsn.getAssetid() + "@" + wsdnsn.getLast_msg()));
    DNMessage ack = new DNMessage("heartbeat", "response", heartbeat.getTxid(), list);
    session.sendMessage(new TextMessage(new String(parser.wrap(ack))));
    list.clear();
    wsdnsn.setSession(session);
    wsdnsn.setLast_msg(System.currentTimeMillis());
    wsdnsn.setAction(2);
    this.updateStatus(2, wsdnsn);
}

From source file:org.acruxsource.sandbox.spring.jmstows.websocket.ChatHandler.java

@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
    logger.info("New incoming message: " + message.getPayload());

    StringReader stringReader = new StringReader(message.getPayload());
    JsonReader jsonReader = Json.createReader(stringReader);
    JsonObject chatMessageObject = jsonReader.readObject();

    if (chatMessageObject.getJsonString("name") != null && chatMessageObject.getJsonString("message") != null) {
        ChatMessage chatMessage = new ChatMessage();
        chatMessage.setName(chatMessageObject.getJsonString("name").getString());
        chatMessage.setMessage(chatMessageObject.getJsonString("message").getString());
        jmsMessageSender.sendMessage("websocket.out", chatMessage);
    } else {/*w w  w . j a v  a 2s  . c o  m*/
        session.sendMessage(new TextMessage("Empty name or message"));
    }
}

From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java

public void sendToGroup(WebSocketSession wss, JSONObject jsonString) {

    String groupid = userMap.get(wss);
    String mess = jsonString.toString();
    System.out.println(groupid);/*from w w w .  jav a2s .c om*/

    for (WebSocketSession user : expUsers) {
        try {
            if (user.isOpen() && (userMap.get(user).equals(groupid))) {
                user.sendMessage(new TextMessage(mess));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}