List of usage examples for org.springframework.web.socket TextMessage TextMessage
public TextMessage(byte[] payload)
From source file:ch.rasc.wampspring.pubsub.PubSubReplyAnnotationTest.java
@Test public void testUnsubscribe6() throws InterruptedException, ExecutionException, IOException { CompletableFutureWebSocketHandler result1 = new CompletableFutureWebSocketHandler(this.jsonFactory); CompletableFutureWebSocketHandler result2 = new CompletableFutureWebSocketHandler(this.jsonFactory); try (WebSocketSession webSocketSession1 = startWebSocketSession(result1); WebSocketSession webSocketSession2 = startWebSocketSession(result2)) { webSocketSession1/*from w ww. j a va 2 s. co m*/ .sendMessage(new TextMessage(new SubscribeMessage("replyTo6").toJson(this.jsonFactory))); webSocketSession2 .sendMessage(new TextMessage(new SubscribeMessage("replyTo6").toJson(this.jsonFactory))); UnsubscribeMessage unsubscribeMessage = new UnsubscribeMessage("incomingUnsub6"); webSocketSession1.sendMessage(new TextMessage(unsubscribeMessage.toJson(this.jsonFactory))); EventMessage event = null; try { event = (EventMessage) result1.getWampMessage(); Assert.fail("call has to timeout"); } catch (Exception e) { assertThat(e).isInstanceOf(TimeoutException.class); } assertThat(event).isNull(); try { event = (EventMessage) result2.getWampMessage(); Assert.fail("call has to timeout"); } catch (Exception e) { assertThat(e).isInstanceOf(TimeoutException.class); } assertThat(event).isNull(); } }
From source file:org.metis.sql.SqlJob.java
/** * Broadcasts a message to all the clients that are currently subscribed to * this SQL job// ww w .ja v a 2s . c om * * @param message */ private void sendResponseMessage(List<Map<String, Object>> response) { TextMessage textMessage = null; try { // create a TextMessage to send back based on json response // object textMessage = new TextMessage(Utils.generateJson(response)); } catch (Exception e) { LOG.error(getThreadName() + ":ERROR, caught this " + "Exception while trying to gen json message - " + e.toString()); LOG.error(getThreadName() + ": exception stack trace follows:"); dumpStackTrace(e.getStackTrace()); if (e.getCause() != null) { LOG.error(getThreadName() + ": Caused by " + e.getCause().toString()); LOG.error(getThreadName() + ": causing exception stack trace follows:"); dumpStackTrace(e.getCause().getStackTrace()); } return; } // broadcast the message for (String key : getSocketSessions().keySet()) { WdsSocketSession session = getSocketSessions().get(key); if (session.isOpen()) { try { session.getSession().sendMessage(textMessage); } catch (Exception exc) { LOG.error(getThreadName() + ":ERROR, caught this " + "Exception while trying to broadcast message - " + exc.toString()); LOG.error(getThreadName() + ": exception stack trace follows:"); dumpStackTrace(exc.getStackTrace()); if (exc.getCause() != null) { LOG.error(getThreadName() + ": Caused by " + exc.getCause().toString()); LOG.error(getThreadName() + ": causing exception stack trace follows:"); dumpStackTrace(exc.getCause().getStackTrace()); } return; } } } }
From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java
/** * // w w w . j ava 2s .c o m */ public void sendMessageo(String message) throws IOException { this.session.sendMessage(new TextMessage(message)); }
From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java
public static synchronized void sendStatausToGroup(JSONObject jsonString, WebSocketSession webSS, String finalGroup) throws IOException { System.out.println("send"); jsonString.put("ready", "true"); System.out.println(jsonString.getString("ready")); jsonString.put("finalGroup", finalGroup); System.out.println(jsonString.getString("finalGroup")); System.out.println("before jump:"); jsonString.put("userName", arrangeUserName.get(webSS)); String mess = jsonString.toString(); webSS.sendMessage(new TextMessage(mess)); }
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 . java 2s .c o m for (WebSocketSession user : expUsers) { try { if (user.isOpen() && (userMap.get(user).equals(groupid))) { user.sendMessage(new TextMessage(mess)); } } catch (IOException e) { e.printStackTrace(); } } }
From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java
public void releaseEquipment(WebSocketSession wss, JSONObject jsonString) { long start = System.currentTimeMillis(); String cabinet_NUM = MapEquipment.get(userMap.get(wss)); //? ResourceRelease resourceRelease = new ResourceRelease(cabinet_NUM); if (resourceRelease.release()) { System.out.println("??"); jsonString.put("success", true); } else {/*w w w. j a v a2s. com*/ System.out.println("false!"); System.out.println(resourceRelease.getReturnDetail()); jsonString.put("success", false); } long end = System.currentTimeMillis(); System.out.println("?" + (end - start) + "ms"); String mess = jsonString.toString(); try { wss.sendMessage(new TextMessage(mess)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:org.springframework.messaging.simp.stomp.StompProtocolHandler.java
/** * Handle STOMP messages going back out to WebSocket clients. *///from w w w . j a va 2 s . com @Override public void handleMessageToClient(WebSocketSession session, Message<?> message) { StompHeaderAccessor headers = StompHeaderAccessor.wrap(message); headers.setCommandIfNotSet(StompCommand.MESSAGE); if (StompCommand.CONNECTED.equals(headers.getCommand())) { // Ignore for now since we already sent it return; } if (StompCommand.MESSAGE.equals(headers.getCommand()) && (headers.getSubscriptionId() == null)) { // TODO: failed message delivery mechanism logger.error("Ignoring message, no subscriptionId header: " + message); return; } if (!(message.getPayload() instanceof byte[])) { // TODO: failed message delivery mechanism logger.error("Ignoring message, expected byte[] content: " + message); return; } try { message = MessageBuilder.withPayloadAndHeaders(message.getPayload(), headers).build(); byte[] bytes = this.stompMessageConverter.fromMessage(message); session.sendMessage(new TextMessage(new String(bytes, Charset.forName("UTF-8")))); } catch (Throwable t) { sendErrorMessage(session, t); } finally { if (StompCommand.ERROR.equals(headers.getCommand())) { try { session.close(CloseStatus.PROTOCOL_ERROR); } catch (IOException e) { } } } }
From source file:org.springframework.messaging.simp.stomp.StompProtocolHandler.java
protected void handleConnect(WebSocketSession session, Message<?> message) throws IOException { StompHeaderAccessor connectHeaders = StompHeaderAccessor.wrap(message); StompHeaderAccessor connectedHeaders = StompHeaderAccessor.create(StompCommand.CONNECTED); Set<String> acceptVersions = connectHeaders.getAcceptVersion(); if (acceptVersions.contains("1.2")) { connectedHeaders.setVersion("1.2"); } else if (acceptVersions.contains("1.1")) { connectedHeaders.setVersion("1.1"); } else if (acceptVersions.isEmpty()) { // 1.0/*from www .ja va 2s.c om*/ } else { throw new StompConversionException("Unsupported version '" + acceptVersions + "'"); } connectedHeaders.setHeartbeat(0, 0); // TODO Principal principal = session.getPrincipal(); if (principal != null) { connectedHeaders.setNativeHeader(CONNECTED_USER_HEADER, principal.getName()); connectedHeaders.setNativeHeader(QUEUE_SUFFIX_HEADER, session.getId()); if (this.queueSuffixResolver != null) { String suffix = session.getId(); this.queueSuffixResolver.addQueueSuffix(principal.getName(), session.getId(), suffix); } } // TODO: security Message<?> connectedMessage = MessageBuilder.withPayloadAndHeaders(new byte[0], connectedHeaders).build(); byte[] bytes = this.stompMessageConverter.fromMessage(connectedMessage); session.sendMessage(new TextMessage(new String(bytes, Charset.forName("UTF-8")))); }
From source file:org.springframework.messaging.simp.stomp.StompProtocolHandler.java
protected void sendErrorMessage(WebSocketSession session, Throwable error) { StompHeaderAccessor headers = StompHeaderAccessor.create(StompCommand.ERROR); headers.setMessage(error.getMessage()); Message<?> message = MessageBuilder.withPayloadAndHeaders(new byte[0], headers).build(); byte[] bytes = this.stompMessageConverter.fromMessage(message); try {/* w w w .j av a 2 s . co m*/ session.sendMessage(new TextMessage(new String(bytes, Charset.forName("UTF-8")))); } catch (Throwable t) { // ignore } }
From source file:org.springframework.messaging.simp.stomp.StompWebSocketHandler.java
protected void handleConnect(WebSocketSession session, Message<?> message) throws IOException { StompHeaderAccessor connectHeaders = StompHeaderAccessor.wrap(message); StompHeaderAccessor connectedHeaders = StompHeaderAccessor.create(StompCommand.CONNECTED); Set<String> acceptVersions = connectHeaders.getAcceptVersion(); if (acceptVersions.contains("1.2")) { connectedHeaders.setAcceptVersion("1.2"); } else if (acceptVersions.contains("1.1")) { connectedHeaders.setAcceptVersion("1.1"); } else if (acceptVersions.isEmpty()) { // 1.0/*from w ww . j av a 2s .com*/ } else { throw new StompConversionException("Unsupported version '" + acceptVersions + "'"); } connectedHeaders.setHeartbeat(0, 0); // TODO Principal principal = session.getPrincipal(); if (principal != null) { connectedHeaders.setNativeHeader(CONNECTED_USER_HEADER, principal.getName()); connectedHeaders.setNativeHeader(QUEUE_SUFFIX_HEADER, session.getId()); if (this.queueSuffixResolver != null) { String suffix = session.getId(); this.queueSuffixResolver.addQueueSuffix(principal.getName(), session.getId(), suffix); } } // TODO: security Message<?> connectedMessage = MessageBuilder.withPayloadAndHeaders(new byte[0], connectedHeaders).build(); byte[] bytes = this.stompMessageConverter.fromMessage(connectedMessage); session.sendMessage(new TextMessage(new String(bytes, Charset.forName("UTF-8")))); }