@Override public void ping() throws IOException { session.getRemote().sendString(WebsocketMessages.PING); }
@Override protected void sendTextMessage(TextMessage message) throws IOException { getRemoteEndpoint().sendString(message.getPayload()); }
@Override public void sendString(final String message) throws IOException { session.getRemote().sendString(message); }
@Override public void sendText(final ByteBuffer data, final SuccessCallback success, final OnError err) { requireNonNull(data, NO_DATA_TO_SEND); RemoteEndpoint remote = session.getRemote(); CharBuffer buffer = StandardCharsets.UTF_8.decode(data); // we need a TextFrame with ByteBuffer :( remote.sendString(buffer.toString(), callback(log, success, err)); }
@Override public void sendText(final byte[] data, final SuccessCallback success, final OnError err) { requireNonNull(data, NO_DATA_TO_SEND); RemoteEndpoint remote = session.getRemote(); remote.sendString(new String(data, StandardCharsets.UTF_8), callback(log, success, err)); }
private void sendData(Map<String, Collection<?>> data) { if (!data.isEmpty() && isConnected()) { try { getRemote().sendString(Context.getObjectMapper().writeValueAsString(data), null); } catch (JsonProcessingException e) { LOGGER.warn("Socket JSON formatting error", e); } } } }
@Override public void sendText(final String data, final SuccessCallback success, final OnError err) { requireNonNull(data, NO_DATA_TO_SEND); RemoteEndpoint remote = session.getRemote(); remote.sendString(data, callback(log, success, err)); }
@OnWebSocketConnect public void onConnect(Session session) throws Exception { this.session = session; socketHealthService.register(this); LOGGER.debug("{} connected", sessionName()); session.getRemote().sendString(consoleLogCharsetJSONMessage); long start = parseStartLine(session.getUpgradeRequest()); LOGGER.debug("{} sending logs for {} starting at line {}.", sessionName(), jobIdentifier, start); try { handler.process(this, jobIdentifier, start); } catch (IOException e) { if ("Connection output is closed".equals(e.getMessage())) { LOGGER.debug("{} client (likely, browser) closed connection prematurely.", sessionName()); close(); // for good measure } else { throw e; } } }
@Signature public void sendText(String text, @Nullable Invoker callback) throws IOException { if (callback == null) { getWrappedObject().getRemote().sendString(text); } else { getWrappedObject().getRemote().sendString(text, new WriteCallback() { @Override public void writeFailed(Throwable x) { callback.callAny(x); } @Override public void writeSuccess() { callback.callAny(); } }); } }
@Override public void onWebSocketText(String message) { if (isNotConnected()) { return; } if (message.equals("CLOSE")) { getSession().close(); return; } try { LOGGER.debug("Received text frame of size: {}", message); getRemote().sendString(message); } catch (IOException e) { e.printStackTrace(); } } }
@Override protected boolean sendMessage(WebSocketMessage message) throws IOException { ByteBuffer buffer = message.getPayload().asByteBuffer(); if (WebSocketMessage.Type.TEXT.equals(message.getType())) { getSendProcessor().setReadyToSend(false); String text = new String(buffer.array(), StandardCharsets.UTF_8); getDelegate().getRemote().sendString(text, new SendProcessorCallback()); } else if (WebSocketMessage.Type.BINARY.equals(message.getType())) { getSendProcessor().setReadyToSend(false); getDelegate().getRemote().sendBytes(buffer, new SendProcessorCallback()); } else if (WebSocketMessage.Type.PING.equals(message.getType())) { getDelegate().getRemote().sendPing(buffer); } else if (WebSocketMessage.Type.PONG.equals(message.getType())) { getDelegate().getRemote().sendPong(buffer); } else { throw new IllegalArgumentException("Unexpected message type: " + message.getType()); } return true; }
@OnWebSocketConnect public void onConnect(Session theSession) { ourLog.info("Successfully connected"); this.session = theSession; try { String sending = "bind " + mySubsId; LOG_SEND.info("{}", sending); theSession.getRemote().sendString(sending); } catch (Throwable t) { ourLog.error("Failure", t); myQuit = true; } }
@Override public WebSocketConnection sendMessage(String message) throws IOException { checkClosed(); session.getRemote().sendString(message); return this; }
public void broadcastToSession(MetricWebSocket socket) { for(String channel: lastBroadCastbatch.keySet()){ List<Queue<JetstreamEvent>> eventsList = lastBroadCastbatch.get(channel); if(eventsList!=null && eventsList.size() > 0){ try { List<JetstreamEvent> eventsFilteredForSocket = new ArrayList<JetstreamEvent>(); for (Queue<JetstreamEvent> events : eventsList) { for (JetstreamEvent event : events) { if(socket.getChannles().contains(event.getEventType())){ eventsFilteredForSocket.add(event); } } } if (eventsFilteredForSocket.size() > 0) { String message = JsonUtil.toJson(eventsFilteredForSocket); socket.getRemote().sendString(message); lastSuccessMessage = message; } incrementEventSentCounter(); } catch (IOException e) { logger.error(e.getLocalizedMessage(), e); registerError(e); } } } }
public void broadcast(String channel, List<Queue<JetstreamEvent>> eventsList) { lastBroadCastbatch.put(channel, eventsList); for (MetricWebSocket socket : sockets) { try { List<JetstreamEvent> eventsFilteredForSocket = new ArrayList<JetstreamEvent>(); for (Queue<JetstreamEvent> events : eventsList) { for (JetstreamEvent event : events) { if(socket.getChannles().contains(event.getEventType())){ eventsFilteredForSocket.add(event); } } } if (eventsFilteredForSocket.size() > 0) { String message = JsonUtil.toJson(eventsFilteredForSocket); socket.getRemote().sendString(message); lastSuccessMessage = message; } incrementEventSentCounter(); } catch (IOException e) { logger.error(e.getLocalizedMessage(), e); registerError(e); } } }
public void broadcast(String channel, JetstreamEvent event) { if (sockets.size() > 0) { String message = JsonUtil.toJson(event); for (MetricWebSocket socket : sockets) { try { if(socket.getChannles().contains(event.getEventType())){ socket.getRemote().sendString(message); lastSuccessMessage = message; incrementEventSentCounter(); } } catch (IOException e) { logger.error(e.getLocalizedMessage(), e); registerError(e); } } } }
@OnWebSocketMessage public void onMessage(String msg) { try { ObjectNode parse = new ObjectMapper().readValue(msg, ObjectNode.class); if (parse instanceof ObjectNode) { ObjectNode object = (ObjectNode)parse; if (object.has("welcome")) { String token = socketNotificationsClient.getBimServerClient().getToken(); session.getRemote().sendString("{\"token\":\"" + token + "\"}"); } else if (object.has("endpointid")) { socketNotificationsClient.setEndpointId(object.get("endpointid").asLong()); countDownLatch.countDown(); } else { try { socketNotificationsClient.handleIncoming((ObjectNode) object.get("request")); } catch (UserException e) { LOGGER.error("", e); } catch (ConvertException e) { LOGGER.error("", e); } } } } catch (Exception e) { LOGGER.error("", e); } } }
@Override public final void onWebSocketText(final String text) { try { session.getRemote().sendString(text); } catch (final IOException e) { throw new RuntimeException(e); } } }
@Override public <E> void send(E reply) { ByteArrayOutputStream out = new ByteArrayOutputStream(); try { json.out(out, null, reply); byte[] bytes = out.toByteArray(); session.getRemote().sendString(new String(bytes)); } catch (IOException e) { throw new RuntimeException(e); } }
public void send(Payload payload) { if (session != null && session.isOpen()) { try { session.getRemote().sendString(writer.writeValueAsString(new SocketMessage(payload)), null); } catch (JsonProcessingException e) { logger.warn("Failure while writing socket message.", e); } } }