Example usage for org.springframework.web.socket TextMessage TextMessage

List of usage examples for org.springframework.web.socket TextMessage TextMessage

Introduction

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

Prototype

public TextMessage(byte[] payload) 

Source Link

Document

Create a new text WebSocket message from the given byte[].

Usage

From source file:eu.nubomedia.tutorial.magicmirror.MagicMirrorHandler.java

private void notEnoughResources(WebSocketSession session) {
    // Send notEnoughResources message to client
    JsonObject response = new JsonObject();
    response.addProperty("id", "notEnoughResources");
    sendMessage(session, new TextMessage(response.toString()));

    // Release media session
    release(session);/*w  w w  .j ava 2 s. c o m*/
}

From source file:com.pubkit.platform.messaging.protocol.pkmp.PKMPOutBoundEventHandler.java

private void sendPayload(PKMPPayload pKMPPayload, WebSocketSession session) {
    String payloadData = gson.toJson(pKMPPayload);
    if (payloadData != null) {
        TextMessage textMessage = new TextMessage(payloadData);
        sendTextMessage(textMessage, session);
    }//  w  w w  . jav  a 2  s.c om
}

From source file:io.sevenluck.chat.websocket.ChatWebSocketHandler.java

@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
    final String myToken = (String) session.getAttributes().get(HttpAuthTokenHandShakeInterceptor.X_TOKEN);

    logger.info("handleTextMessage with message {} and token {}", message, myToken);
    String payload = message.getPayload();

    try {// w  ww .  j  av  a2  s . c  o m
        ObjectMapper mapper = new ObjectMapper();
        ChatMessageDTO chatMessage = mapper.readValue(payload, ChatMessageDTO.class);

        final ChatRoom room = findChatRoom(chatMessage);
        if (null == room)
            return;

        chatMessageRepository.save(newInstance(session, room, chatMessage));
        List<ChatChannel> channels = chatChannelRepository.findByChatRoom(room);

        for (ChatChannel channel : channels) {

            List<ChatSession> chatSessions = chatSessionRepository.findByMember(channel.getMember());
            for (ChatSession chatSession : chatSessions) {

                if (!myToken.equals(chatSession.getAuthtoken())
                        && sessionMap.containsKey(chatSession.getAuthtoken())) {
                    WebSocketSession wsSession = sessionMap.get(chatSession.getAuthtoken()).getSession();
                    final String stringifyJSONObject = mapper.writeValueAsString(chatMessage);
                    wsSession.sendMessage(new TextMessage(stringifyJSONObject));
                }
            }
        }

    } catch (Exception e) {
        logger.error("TAG", e);
    }
}

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

/**
 * ???/*ww  w . j  av  a  2s.com*/
 * ???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:ch.rasc.wampspring.pubsub.PubSubTest.java

@Test
public void testDtoPublishEvent()
        throws InterruptedException, ExecutionException, IOException, TimeoutException {
    CompletableFutureWebSocketHandler result = new CompletableFutureWebSocketHandler(this.jsonFactory);
    try (WebSocketSession webSocketSession = startWebSocketSession(result)) {

        SubscribeMessage subscribeMsg = new SubscribeMessage("pubSubService.dto.result");
        webSocketSession.sendMessage(new TextMessage(subscribeMsg.toJson(this.jsonFactory)));

        TestDto testDto = new TestDto();
        testDto.setName("Hello PubSub");
        PublishMessage pm = new PublishMessage("pubSubService.dto", testDto);
        webSocketSession.sendMessage(new TextMessage(pm.toJson(this.jsonFactory)));

        EventMessage event = (EventMessage) result.getWampMessage();
        assertThat(event.getTopicURI()).isEqualTo("pubSubService.dto.result");
        assertThat(event.getEvent()).isEqualTo("Server says: Hello PubSub");

    }/*ww w .  ja  v a  2s .  c  om*/
}

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

private void start(final WebSocketSession session, JsonObject jsonMessage) {
    try {//from  w  w w .j  a v a  2 s.  c  o  m
        // 1. Media logic (webRtcEndpoint in loopback)
        MediaPipeline pipeline = kurento.createMediaPipeline();
        WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(pipeline).build();
        webRtcEndpoint.connect(webRtcEndpoint);

        // 2. Store user session
        UserSession user = new UserSession();
        user.setMediaPipeline(pipeline);
        user.setWebRtcEndpoint(webRtcEndpoint);
        users.put(session.getId(), user);

        // 3. SDP negotiation
        String sdpOffer = jsonMessage.get("sdpOffer").getAsString();
        String sdpAnswer = webRtcEndpoint.processOffer(sdpOffer);

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

        synchronized (session) {
            session.sendMessage(new TextMessage(response.toString()));
        }

        // 4. Gather ICE candidates
        webRtcEndpoint.addOnIceCandidateListener(new EventListener<OnIceCandidateEvent>() {
            @Override
            public void onEvent(OnIceCandidateEvent 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.error(e.getMessage());
                }
            }
        });
        webRtcEndpoint.gatherCandidates();

    } catch (Throwable t) {
        sendError(session, t.getMessage());
    }
}

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

private void handleErrorResponse(Throwable throwable, WebSocketSession session, String responseId)
        throws IOException {
    stop(session);//w  w  w  .ja  v a 2  s .  co m
    log.error(throwable.getMessage(), throwable);
    JsonObject response = new JsonObject();
    response.addProperty("id", responseId);
    response.addProperty("response", "rejected");
    response.addProperty("message", throwable.getMessage());
    session.sendMessage(new TextMessage(response.toString()));
}

From source file:com.music.web.websocket.GameHandler.java

public static void sendMessage(GameEvent event, WebSocketSession session) {
    try {//from w w  w. j av  a 2  s.  c om
        session.sendMessage(new TextMessage(event.toJson()));
    } catch (IOException e) {
        throw new IllegalStateException(e);
    }
}

From source file:org.kurento.tutorial.magicmirror.MagicMirrorHandler.java

private void start(final WebSocketSession session, JsonObject jsonMessage) {
    try {/*from   w ww  .  j a v a 2  s  .co m*/
        // User session
        UserSession user = new UserSession();
        MediaPipeline pipeline = kurento.createMediaPipeline();
        user.setMediaPipeline(pipeline);
        WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(pipeline).build();
        user.setWebRtcEndpoint(webRtcEndpoint);
        users.put(session.getId(), user);

        // ICE candidates
        webRtcEndpoint.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());
                }
            }
        });

        // Media logic
        FaceOverlayFilter faceOverlayFilter = new FaceOverlayFilter.Builder(pipeline).build();

        String appServerUrl = System.getProperty("app.server.url", MagicMirrorApp.DEFAULT_APP_SERVER_URL);
        faceOverlayFilter.setOverlayedImage(appServerUrl + "/img/mario-wings.png", -0.35F, -1.2F, 1.6F, 1.6F);

        webRtcEndpoint.connect(faceOverlayFilter);
        faceOverlayFilter.connect(webRtcEndpoint);

        // SDP negotiation (offer and answer)
        String sdpOffer = jsonMessage.get("sdpOffer").getAsString();
        String sdpAnswer = webRtcEndpoint.processOffer(sdpOffer);

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

        synchronized (session) {
            session.sendMessage(new TextMessage(response.toString()));
        }

        webRtcEndpoint.gatherCandidates();

    } catch (Throwable t) {
        sendError(session, t.getMessage());
    }
}

From source file:org.kurento.jsonrpc.internal.ws.WebSocketServerSession.java

private <P, R> Response<R> sendRequestWebSocket(Request<P> request, Class<R> resultClass) {

    log.info("Req-> {}", request.toString());

    Future<Response<JsonElement>> responseFuture = null;

    if (request.getId() != null) {
        responseFuture = pendingRequests.prepareResponse(request.getId());
    }/*  w w  w . j a  v  a  2s  .  co  m*/

    try {
        synchronized (wsSession) {
            wsSession.sendMessage(new TextMessage(JsonUtils.toJson(request)));
        }
    } catch (Exception e) {
        throw new KurentoException("Exception while sending message '" + JsonUtils.toJson(request)
                + "' to websocket with native sessionId '" + wsSession.getId() + "'", e);
    }

    if (responseFuture == null) {
        return null;
    }

    Response<JsonElement> responseJsonObject;
    try {
        responseJsonObject = responseFuture.get(JsonRpcClientWebSocket.TIMEOUT, TimeUnit.MILLISECONDS);

        log.info("<-Res {}", responseJsonObject.toString());

    } catch (InterruptedException e) {
        // TODO What to do in this case?
        throw new JsonRpcException("Interrupted while waiting for a response", e);
    } catch (ExecutionException e) {
        // TODO Is there a better way to handle this?
        throw new JsonRpcException("This exception shouldn't be thrown", e);
    } catch (TimeoutException e) {
        throw new TransportException("Timeout of " + JsonRpcClientWebSocket.TIMEOUT
                + " milliseconds waiting from response to request with id:" + request.getId(), e);
    }

    return MessageUtils.convertResponse(responseJsonObject, resultClass);
}