Class BinaryTCPClientImpl

java.lang.Object
org.apache.jmeter.protocol.tcp.sampler.AbstractTCPClient
org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl
All Implemented Interfaces:
TCPClient

public class BinaryTCPClientImpl extends AbstractTCPClient
TCPClient implementation. Reads data until the defined EOM byte is reached. If there is no EOM byte defined, then reads until the end of the stream is reached. The EOM byte is defined by the property "tcp.BinaryTCPClient.eomByte".

Input/Output strings are passed as hex-encoded binary strings.

  • Constructor Details

    • BinaryTCPClientImpl

      public BinaryTCPClientImpl()
  • Method Details

    • hexStringToByteArray

      public static byte[] hexStringToByteArray(String hexEncodedBinary)
      Convert hex string to binary byte array.
      Parameters:
      hexEncodedBinary - - hex-encoded binary string
      Returns:
      Byte array containing binary representation of input hex-encoded string
      Throws:
      IllegalArgumentException - if string is not an even number of hex digits
    • write

      public void write(OutputStream os, String hexEncodedBinary) throws IOException
      Input (hex) string is converted to binary and written to the output stream.
      Parameters:
      os - output stream
      hexEncodedBinary - hex-encoded binary
      Throws:
      IOException - when writing fails
    • write

      public void write(OutputStream os, InputStream is)
      Parameters:
      os - - OutputStream for socket
      is - - InputStream to be written to Socket
    • read

      @Deprecated public String read(InputStream is) throws ReadException
      Deprecated.
      Parameters:
      is - - InputStream for socket
      Returns:
      String read from socket
      Throws:
      ReadException - exception that can contain partial response (Response until error occurred)
    • read

      public String read(InputStream is, SampleResult sampleResult) throws ReadException
      Reads data until the defined EOM byte is reached. If there is no EOM byte defined, then reads until the end of the stream is reached. Response data is converted to hex-encoded binary
      Specified by:
      read in interface TCPClient
      Overrides:
      read in class AbstractTCPClient
      Parameters:
      is - - InputStream for socket
      sampleResult - SampleResult
      Returns:
      hex-encoded binary string
      Throws:
      ReadException - when reading fails
      See Also: