@Override public int getPayloadLength() { return getPayload().remaining(); }
@Override protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception { if (message.getPayloadLength() == 0) { log.warn("Road: {}, stream: {}, sessionId: {} - Ignoring message with zero sized payload", roadName, streamName, sessionId); return; } service.onEvent(new String(message.getPayload().array(), UTF_8)); }
@Override protected String toStringPayload() { return getPayload().toString(); }
byte[] buffer = (byte[]) attribs.get(ATTR_BUFFER); byte[] payload = new byte[message.getPayloadLength()]; message.getPayload().get(payload); buffer = buffer == null ? payload : ArrayUtils.addAll(buffer, payload);
@Override protected void sendBinaryMessage(BinaryMessage message) throws IOException { getRemoteEndpoint().sendBytes(message.getPayload()); }
public List<Message<byte[]>> decode(WebSocketMessage<?> webSocketMessage) { List<Message<byte[]>> result = Collections.emptyList(); ByteBuffer byteBuffer; if (webSocketMessage instanceof TextMessage) { byteBuffer = ByteBuffer.wrap(((TextMessage) webSocketMessage).asBytes()); } else if (webSocketMessage instanceof BinaryMessage) { byteBuffer = ((BinaryMessage) webSocketMessage).getPayload(); } else { return result; } result = this.bufferingDecoder.decode(byteBuffer); if (result.isEmpty()) { if (logger.isTraceEnabled()) { logger.trace("Incomplete STOMP frame content received, bufferSize=" + this.bufferingDecoder.getBufferSize() + ", bufferSizeLimit=" + this.bufferingDecoder.getBufferSizeLimit() + "."); } } return result; }
@Override protected void sendBinaryMessage(BinaryMessage message) throws IOException { getNativeSession().getBasicRemote().sendBinary(message.getPayload(), message.isLast()); }
@Test public void sendWebSocketBinary() throws Exception { StompHeaderAccessor accessor = StompHeaderAccessor.create(StompCommand.SEND); accessor.setDestination("/b"); accessor.setContentType(MimeTypeUtils.APPLICATION_OCTET_STREAM); byte[] payload = "payload".getBytes(StandardCharsets.UTF_8); getTcpConnection().send(MessageBuilder.createMessage(payload, accessor.getMessageHeaders())); ArgumentCaptor<BinaryMessage> binaryMessageCaptor = ArgumentCaptor.forClass(BinaryMessage.class); verify(this.webSocketSession).sendMessage(binaryMessageCaptor.capture()); BinaryMessage binaryMessage = binaryMessageCaptor.getValue(); assertNotNull(binaryMessage); assertEquals("SEND\ndestination:/b\ncontent-type:application/octet-stream\ncontent-length:7\n\npayload\0", new String(binaryMessage.getPayload().array(), StandardCharsets.UTF_8)); }
byteBuffer = ((BinaryMessage) webSocketMessage).getPayload();
@Override public int getPayloadLength() { return getPayload().remaining(); }
@Override public int getPayloadLength() { return getPayload().remaining(); }
@Override protected String toStringPayload() { return getPayload().toString(); }
@Override protected String toStringPayload() { return getPayload().toString(); }
@Override protected void sendBinaryMessage(BinaryMessage message) throws IOException { getRemoteEndpoint().sendBytes(message.getPayload()); }
@Override protected void sendBinaryMessage(BinaryMessage message) throws IOException { getRemoteEndpoint().sendBytes(message.getPayload()); }
public List<Message<byte[]>> decode(WebSocketMessage<?> webSocketMessage) { List<Message<byte[]>> result = Collections.emptyList(); ByteBuffer byteBuffer; if (webSocketMessage instanceof TextMessage) { byteBuffer = ByteBuffer.wrap(((TextMessage) webSocketMessage).asBytes()); } else if (webSocketMessage instanceof BinaryMessage) { byteBuffer = ((BinaryMessage) webSocketMessage).getPayload(); } else { return result; } result = this.bufferingDecoder.decode(byteBuffer); if (result.isEmpty()) { if (logger.isTraceEnabled()) { logger.trace("Incomplete STOMP frame content received, bufferSize=" + this.bufferingDecoder.getBufferSize() + ", bufferSizeLimit=" + this.bufferingDecoder.getBufferSizeLimit() + "."); } } return result; }
public List<Message<byte[]>> decode(WebSocketMessage<?> webSocketMessage) { List<Message<byte[]>> result = Collections.emptyList(); ByteBuffer byteBuffer; if (webSocketMessage instanceof TextMessage) { byteBuffer = ByteBuffer.wrap(((TextMessage) webSocketMessage).asBytes()); } else if (webSocketMessage instanceof BinaryMessage) { byteBuffer = ((BinaryMessage) webSocketMessage).getPayload(); } else { return result; } result = this.bufferingDecoder.decode(byteBuffer); if (result.isEmpty()) { if (logger.isTraceEnabled()) { logger.trace("Incomplete STOMP frame content received, bufferSize=" + this.bufferingDecoder.getBufferSize() + ", bufferSizeLimit=" + this.bufferingDecoder.getBufferSizeLimit() + "."); } } return result; }
@Override protected void sendBinaryMessage(BinaryMessage message) throws IOException { getNativeSession().getBasicRemote().sendBinary(message.getPayload(), message.isLast()); }
@Override protected void sendBinaryMessage(BinaryMessage message) throws IOException { getNativeSession().getBasicRemote().sendBinary(message.getPayload(), message.isLast()); }
break; ByteBuffer buffer = message.getPayload(); byte[] bytesArray = new byte[buffer.remaining()]; buffer.get(bytesArray, 0, bytesArray.length);