List of usage examples for org.springframework.web.socket TextMessage TextMessage
public TextMessage(byte[] payload)
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); }