def socketBinaryStream(self, hostname, port, length):
        """Create a TCP socket server for binary input.

        .. warning::
            This is not part of the PySpark API.

        :param string hostname: Hostname of TCP server.
        :param int port: Port of TCP server.
        :param length:
            Message length. Length in bytes or a format string for
            ``struct.unpack()``.

            For variable length messages where the message length is sent right
            before the message itself, ``length`` is
            a format string that can be passed to ``struct.unpack()``.
            For example, use ``length='<I'`` for a little-endian
            (standard on x86) 32-bit unsigned int.
        :rtype: DStream
        """
        deserializer = TCPDeserializer(self._context)
        tcp_binary_stream = TCPBinaryStream(length)
        tcp_binary_stream.listen(port, hostname)
        self._on_stop_cb.append(tcp_binary_stream.stop)
        return DStream(tcp_binary_stream, self, deserializer)
Create a TCP socket server for binary input.

        .. warning::
            This is not part of the PySpark API.

        :param string hostname: Hostname of TCP server.
        :param int port: Port of TCP server.
        :param length:
            Message length. Length in bytes or a format string for
            ``struct.unpack()``.

            For variable length messages where the message length is sent right
            before the message itself, ``length`` is
            a format string that can be passed to ``struct.unpack()``.
            For example, use ``length='<I'`` for a little-endian
            (standard on x86) 32-bit unsigned int.
        :rtype: DStream