List of usage examples for org.springframework.web.socket WebSocketSession close
@Override void close() throws IOException;
From source file:cn.com.inhand.devicenetworks.ap.websocket.WSDNAccessPoint.java
@Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { System.out/*from w ww . jav a 2 s.c o m*/ .println("Debug in WSDNAccessPoint.java [Ln:81] : WebSocketSession session=" + session.toString()); super.handleTextMessage(session, message); TextMessage returnMessage = new TextMessage(message.getPayload() + " received at server"); //session.sendMessage(returnMessage); System.out.println("Debug in WSDNAccessPoint.java [Ln:57] : WebSocketSession recv:" + message.getPayload()); try { String string = message.getPayload(); if (string == null || string.trim().equals("") || string.equals("undefined")) { System.out.println("Debug in WSDNAccessPoint.java [Ln:64] : WebSocketSession recv:null msg"); return; } DNMessage msg = parser.unwrap(message.getPayload().getBytes()); WSDNSession wsdnsn = this.cinfo.getWsdnsn(session.toString()); if (wsdnsn == null) { if (msg.getName().equals("login")) { try { this.onLogin(msg, session, wsdnsn); } catch (PacketException pe) { // Logger.getLogger(WSDNAccessPoint.class.getName()).warning( "Failed to Login from " + session.getRemoteAddress() + ":" + pe.toString()); this.close(session); } } else { //?login Logger.getLogger(WSDNAccessPoint.class.getName()).warning( "Illegal connection from + " + session.getRemoteAddress() + ", the msg:" + string); this.close(session); } } else if (!wsdnsn.isIsLogin()) { wsdnsn.setSession(session); try { this.onLogin(msg, session, wsdnsn); } catch (PacketException pe) { // Logger.getLogger(WSDNAccessPoint.class.getName()) .warning("Failed to Login from " + session.getRemoteAddress() + ":" + pe.toString()); this.close(session); } } else { //? if (msg.getName().equalsIgnoreCase("heartbeat") && msg.getType() == 0) { this.onHeartbeat(msg, session, wsdnsn); this.updateStatus(2, wsdnsn); } else if (msg.getName().equalsIgnoreCase("logout")) {//&& msg.getType() == 0) { this.onLogout(msg, session, wsdnsn); session.close(); } else if (msg.getType() == 1) { this.onAck(msg, session, wsdnsn); } else { this.onUnkownMsg(msg, session, wsdnsn); Logger.getLogger(WSDNAccessPoint.class.getName()) .warning("Unsupported msg from " + session.getRemoteAddress() + ":" + msg.toString()); //this.close(session); } } } catch (PacketException ex) { Logger.getLogger(WSv1Processor.class.getName()).log(Level.SEVERE, "while handling a text message", ex); } }
From source file:org.springframework.boot.samples.websocket.client.SimpleClientWebSocketHandler.java
@Override public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { this.logger.info("Received: " + message + " (" + this.latch.getCount() + ")"); session.close(); this.latch.countDown(); }
From source file:org.springframework.web.socket.sockjs.client.AbstractSockJsIntegrationTests.java
@Test(timeout = 5000) public void fallbackAfterConnectTimeout() throws Exception { TestClientHandler clientHandler = new TestClientHandler(); this.testFilter.sleepDelayMap.put("/xhr_streaming", 10000L); this.testFilter.sendErrorMap.put("/xhr_streaming", 503); initSockJsClient(createXhrTransport()); this.sockJsClient.setConnectTimeoutScheduler(this.wac.getBean(ThreadPoolTaskScheduler.class)); WebSocketSession clientSession = sockJsClient.doHandshake(clientHandler, this.baseUrl + "/echo").get(); assertEquals("Fallback didn't occur", XhrClientSockJsSession.class, clientSession.getClass()); TextMessage message = new TextMessage("message1"); clientSession.sendMessage(message);/*from w w w . j ava 2 s . c o m*/ clientHandler.awaitMessage(message, 5000); clientSession.close(); }
From source file:org.springframework.web.socket.sockjs.client.AbstractSockJsIntegrationTests.java
private void testEcho(int messageCount, Transport transport, WebSocketHttpHeaders headers) throws Exception { List<TextMessage> messages = new ArrayList<>(); for (int i = 0; i < messageCount; i++) { messages.add(new TextMessage("m" + i)); }//from w ww. ja va 2 s. c o m TestClientHandler handler = new TestClientHandler(); initSockJsClient(transport); URI url = new URI(this.baseUrl + "/echo"); WebSocketSession session = this.sockJsClient.doHandshake(handler, headers, url).get(); for (TextMessage message : messages) { session.sendMessage(message); } handler.awaitMessageCount(messageCount, 5000); for (TextMessage message : messages) { assertTrue("Message not received: " + message, handler.receivedMessages.remove(message)); } assertEquals("Remaining messages: " + handler.receivedMessages, 0, handler.receivedMessages.size()); session.close(); }