List of usage examples for org.springframework.web.socket WebSocketSession isOpen
boolean isOpen();
From source file:com.devicehive.messages.handler.WebSocketClientHandler.java
public static void sendMessage(JsonObject json, WebSocketSession session) { if (!session.isOpen()) { return;/*from ww w. j av a2 s . co m*/ } try { session.sendMessage(new TextMessage(json.toString())); } catch (IOException e) { logger.error("Exception while sending message", e); } }
From source file:com.songjg.websocket.handler.SystemWebSocketHandler.java
@Override public void handleTransportError(WebSocketSession wss, Throwable thrwbl) throws Exception { if (wss.isOpen()) { wss.close();/* w w w . ja v a 2 s.c om*/ } System.out.println("websocket connection closed......"); }
From source file:org.springframework.cloud.aws.sample.websocket.SendingTextWebSocketHandler.java
private void sendTestMessageToAllSessions(String payload) throws IOException { List<WebSocketSession> sessionsToRemove = new ArrayList<>(); for (WebSocketSession session : this.sessions) { if (!session.isOpen()) { sessionsToRemove.add(session); }//from w ww .j a v a 2s .c om } this.sessions.removeAll(sessionsToRemove); for (WebSocketSession session : this.sessions) { session.sendMessage(new TextMessage(payload)); } }
From source file:com.pubkit.platform.messaging.protocol.pkmp.PKMPOutBoundEventHandler.java
private void handleDisconnect(PKMPDisconnect pKMPDisconnect, WebSocketSession session) { if (session.isOpen()) { sendPayload(pKMPDisconnect, session); }// w w w .ja v a2 s. c om closeSession(session); }
From source file:com.pubkit.platform.messaging.protocol.pkmp.PKMPOutBoundEventHandler.java
private void closeSession(WebSocketSession session) { if (!session.isOpen()) { return;/*from ww w .jav a 2s. c o m*/ } try { session.close(CloseStatus.NORMAL); } catch (IOException e) { LOG.error("Error closing the connection", e); // Can't do anything now! } }
From source file:org.acruxsource.sandbox.spring.jmstows.websocket.ChatHandler.java
public void sendMessage(final ChatMessage message) throws IOException { logger.info("Sending message to all participants"); for (WebSocketSession session : sessions) { if (session.isOpen()) { DateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN); JsonObjectBuilder jsonObjectBuilder = Json.createObjectBuilder(); jsonObjectBuilder.add("name", message.getName()); jsonObjectBuilder.add("message", message.getMessage()); jsonObjectBuilder.add("date", dateFormat.format(message.getDate())); session.sendMessage(new TextMessage(jsonObjectBuilder.build().toString())); } else {/* w w w . ja va 2 s . c om*/ sessions.remove(session); } } }
From source file:com.devicehive.websockets.util.SessionMonitor.java
@Scheduled(cron = "0/30 * * * * *") public synchronized void ping() { try {//from w w w . j a va 2s. c o m for (WebSocketSession session : sessionMap.values()) { if (session.isOpen()) { logger.debug("Pinging session {}", session.getId()); session.sendMessage(new PingMessage()); } else { logger.debug("Session {} is closed.", session.getId()); sessionMap.remove(session.getId()); } } } catch (IOException e) { logger.error("Exception while ping session"); } }
From source file:com.devicehive.websockets.util.SessionMonitor.java
public WebSocketSession getSession(String sessionId) { WebSocketSession session = sessionMap.get(sessionId); return session != null && session.isOpen() ? session : null; }
From source file:br.com.altamira.monitoramento.controller.SendingTextWebSocketHandler.java
private void sendTestMessageToAllSessions(String payload) throws IOException { List<WebSocketSession> sessionsToRemove = new ArrayList<>(); this.sessions.stream().filter((session) -> (!session.isOpen())).forEach((session) -> { sessionsToRemove.add(session);/*w ww.j a va2 s. c o m*/ }); this.sessions.removeAll(sessionsToRemove); for (WebSocketSession session : this.sessions) { session.sendMessage(new TextMessage(payload)); } }
From source file:com.github.mrstampy.gameboot.otp.websocket.OtpEncryptedWebSocketHandler.java
/** * Validates that the clear channel exists. Override to provide additional * validation.//from ww w .j ava2s . c o m * * @param session * the session * @param message * the message * @return true, if successful * @throws Exception * the exception */ protected boolean validateChannel(WebSocketSession session, OtpKeyRequest message) throws Exception { if (message.getKeyFunction() == null) { log.error("No key function, closing channel"); session.close(); return false; } switch (message.getKeyFunction()) { case NEW: break; default: log.error("Cannot process {}, closing OTP New Key session {}", message, session); session.close(); return false; } Long systemId = message.getOtpSystemId(); if (systemId == null) { log.error("System id missing from {}, disconnecting {}", message, session); session.close(); return false; } SystemIdKey sik = new SystemIdKey(systemId); WebSocketSession clearChannel = registry.get(sik); if (clearChannel == null || !clearChannel.isOpen()) { log.error("No clear channel for {}, from encrypted channel {}, disconnecting", systemId, session.getRemoteAddress()); session.close(); return false; } return true; }