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:ch.rasc.wampspring.testsupport.BaseWampTest.java

protected void authenticate(CompletableFutureWebSocketHandler result, WebSocketSession webSocketSession)
        throws IOException, InterruptedException, InvalidKeyException, NoSuchAlgorithmException,
        ExecutionException, TimeoutException {
    CallMessage authReqCallMessage = new CallMessage("1", "http://api.wamp.ws/procedure#authreq", "a",
            Collections.emptyMap());
    webSocketSession.sendMessage(new TextMessage(authReqCallMessage.toJson(this.jsonFactory)));
    WampMessage response = result.getWampMessage();

    assertThat(response).isInstanceOf(CallResultMessage.class);
    CallResultMessage resultMessage = (CallResultMessage) response;
    assertThat(resultMessage.getCallID()).isEqualTo("1");
    assertThat(resultMessage.getResult()).isNotNull();

    result.reset();/*from ww  w .j  a va2s  .c o  m*/

    String challengeBase64 = (String) resultMessage.getResult();
    String signature = DefaultAuthenticationHandler.generateHMacSHA256("secretofa", challengeBase64);

    CallMessage authCallMessage = new CallMessage("2", "http://api.wamp.ws/procedure#auth", signature);
    webSocketSession.sendMessage(new TextMessage(authCallMessage.toJson(this.jsonFactory)));
    response = result.getWampMessage();

    assertThat(response).isInstanceOf(CallResultMessage.class);
    resultMessage = (CallResultMessage) response;
    assertThat(resultMessage.getCallID()).isEqualTo("2");
    assertThat(resultMessage.getResult()).isNull();

    result.reset();
}

From source file:org.opencron.server.websocket.TerminalHandler.java

@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
    super.afterConnectionEstablished(session);
    String sshSessionId = OpencronTools.getSshSessionId();
    if (sshSessionId != null) {
        final Terminal terminal = TerminalContext.remove(sshSessionId);
        if (terminal != null) {
            try {
                session.sendMessage(new TextMessage("Welcome to Opencron Terminal! Connect Starting."));
                getClient(session, terminal);
                int cols = Integer.parseInt(session.getAttributes().get("cols").toString());
                int rows = Integer.parseInt(session.getAttributes().get("rows").toString());
                int width = Integer.parseInt(session.getAttributes().get("width").toString());
                int height = Integer.parseInt(session.getAttributes().get("height").toString());
                terminalClient.openTerminal(cols, rows, width, height);
                terminalService.login(terminal);
            } catch (Exception e) {
                if (e.getLocalizedMessage().replaceAll("\\s+", "").contentEquals("Operationtimedout")) {
                    session.sendMessage(new TextMessage("Sorry! Connect timed out, please try again. "));
                } else {
                    session.sendMessage(new TextMessage("Sorry! Operation error, please try again. "));
                }/*from ww w.  ja v  a  2  s  .c o  m*/
                terminalClient.disconnect();
                session.close();
            }
        } else {
            this.terminalClient.disconnect();
            session.sendMessage(new TextMessage("Sorry! Connect failed, please try again. "));
            session.close();
        }
    }
}

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

@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
    logger.debug("Session id {} ", session.getId());
    session = sessionMonitor.getSession(session.getId());
    JsonObject request = new JsonParser().parse(message.getPayload()).getAsJsonObject();
    JsonObject response = webSocketResponseBuilder.buildResponse(request, session);
    session.sendMessage(new TextMessage(response.toString()));
}

From source file:com.hxh.websocket.service.UserOnlineService.java

/**
 * ???/*w  w  w.j  a  va2s  .c om*/
 * ???WebSocketSession???
 * @param msg 
 */
private void pushMessageToWebClient(JsonMessage msg) {
    System.out.println("?");
    System.out.println(":" + sessions.size());
    synchronized (sessions) {
        for (WebSocketSession s : sessions) {
            ObjectMapper mapper = new ObjectMapper();
            StringWriter sw = new StringWriter();
            try {
                mapper.writeValue(sw, msg);
                String jsonmsg = sw.toString();
                System.out.println("?:" + jsonmsg);
                s.sendMessage(new TextMessage(jsonmsg));
            } catch (IOException ex) {
                Logger.getLogger(UserOnlineService.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}

From source file:org.kurento.tutorial.helloworld.HelloWorldRecHandler.java

public void sendPlayEnd(WebSocketSession session, MediaPipeline pipeline) {
    try {/*from  w  ww .  j a v  a2  s.c  o  m*/
        JsonObject response = new JsonObject();
        response.addProperty("id", "playEnd");
        session.sendMessage(new TextMessage(response.toString()));
    } catch (IOException e) {
        log.error("Error sending playEndOfStream message", e);
    }
    // Release pipeline
    pipeline.release();
}

From source file:cn.sinobest.websocket.handler.SimpleClientWebSocketHandler.java

/**
 * ??/*  w  ww  .j a  v a  2s  .com*/
 *
 * @param webSocketSession WebSocketSession
 * @param webSocketMessage WebSocketMessage
 * @throws Exception 
 */
@Override
public void handleMessage(WebSocketSession webSocketSession, WebSocketMessage<?> webSocketMessage)
        throws Exception {
    String param = webSocketMessage.getPayload().toString();
    logger.info("handleMessage" + param);
    String result = messageService.handleMessage(param);
    logger.info("handleMessageResult" + result);
    //??
    webSocketSession.sendMessage(new TextMessage(result));
    //?
    //messageService.saveLog("handleMessage",param,webSocketSession.getRemoteAddress().getAddress().getHostAddress(),result,"");
}

From source file:org.kurento.tutorial.frame_saver.FrameSaverHandler.java

private void sendError(WebSocketSession aSession, String aMessage) {
    try {/*  w w w.j av a 2  s . c  o  m*/
        JsonObject response_obj = new JsonObject();

        response_obj.addProperty("id", "error");

        response_obj.addProperty("message", aMessage);

        String response_str = response_obj.toString();

        aSession.sendMessage(new TextMessage(response_str));
    } catch (IOException ex) {
        mLogger.error("Exception sending message", ex);
    }
}

From source file:com.zb.app.websocket.api.MessagePushAPI.java

private void doSend(Long cId, Long mId, String msg) {
    Collection<WebSocketSession> set = sessionHandler.getSession(mId);
    if (Argument.isEmpty(set)) {
        logger.error(/*w  w w.  ja va 2  s  .c o m*/
                "MessagePushAPI:sendPushMsg msg error:?{},cid:?{},mid:?{}is offLine!webSocketSession set is null!",
                msg, cId, mId);
    }
    for (WebSocketSession session : set) {
        if (session == null) {
            logger.error(
                    "MessagePushAPI:sendPushMsg msg error:?{},cid:?{},mid:?{}is offLine!session is null!",
                    msg, cId, mId);
        }
        try {
            session.sendMessage(new TextMessage(msg));
            logger.debug(
                    "MessagePushAPI:sendPushMsg msg success:?{},cid:?{},mid:?{},sessionId:?{}",
                    msg, cId, mId, session.getId());
        } catch (Exception e) {
            logger.error(
                    "MessagePushAPI:sendPushMsg msg error:?{},cid:?{},mid:?{},sessionId:?{}",
                    msg, cId, mId, session.getId());
        }
    }
}

From source file:ch.rasc.wampspring.config.WampSubProtocolHandler.java

@Override
public void afterSessionStarted(WebSocketSession session, MessageChannel outputChannel) {
    if (session.getTextMessageSizeLimit() < MINIMUM_WEBSOCKET_MESSAGE_SIZE) {
        session.setTextMessageSizeLimit(MINIMUM_WEBSOCKET_MESSAGE_SIZE);
    }//from  ww w.j  a  v  a2  s  .co  m

    WelcomeMessage welcomeMessage = new WelcomeMessage(session.getId(), SERVER_IDENTIFIER);
    try {
        session.sendMessage(new TextMessage(welcomeMessage.toJson(this.jsonFactory)));
    } catch (IOException e) {
        logger.error("Failed to send welcome message to client in session " + session.getId() + ".", e);
    }
}

From source file:com.github.mrstampy.gameboot.websocket.AbstractWebSocketProcessor.java

/**
 * Send message, must be a byte array or a string.
 *
 * @param session/*from   w  w w  . j a va  2  s  .  c o m*/
 *          the session
 * @param msg
 *          the msg
 * @throws Exception
 *           the exception
 */
public void sendMessage(WebSocketSession session, Object msg) throws Exception {
    WebSocketMessage<?> toGo = createMessage(session, msg);
    session.sendMessage(toGo);
}