<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)