class_docstr: An earlier version of this code (#626) was originally developed as part of the following work:
  
  Rabault, J., Kuhnle, A (2019). Accelerating Deep Reinforcement Leaning strategies of Flow
  Control through a multi-environment approach. Physics of Fluids.
code: def proxy_receive(cls, connection):
      str_success = connection.recv(1)
      if len(str_success) != 1 or (
          str_success != b"0" and str_success != b"1"
      ):
          raise TensorforceError.unexpected()
      success = str_success == b"1"
  
      str_num_bytes = connection.recv(8)
      if len(str_num_bytes) != 8:
          raise TensorforceError.unexpected()
      num_bytes = int(str_num_bytes.decode())
      str_result = b""
      for n in range(num_bytes // cls.MAX_BYTES):
          str_result += connection.recv(cls.MAX_BYTES)
          if len(str_result) != n * cls.MAX_BYTES:
              raise TensorforceError.unexpected()
      str_result += connection.recv(num_bytes % cls.MAX_BYTES)
      if len(str_result) != num_bytes:
          raise TensorforceError.unexpected()
      result = msgpack.unpackb(packed=str_result)
  
      return success, result
  
file_path: tensorforce/tensorforce/environments/socket_environment.py
imports: from socket import SHUT_RDWR, socket
  import time
  import msgpack
  import msgpack_numpy
  from tensorforce import TensorforceError
  from tensorforce.environments import RemoteEnvironment
label_desc: Use image node_id 3 for calling the SocketEnvironment obj's underlying member method code with example usage: obj.proxy_receive(cls, connection) and returns: success,  result