code: def receive(self):
          
          if self._closed:
              raise WebSocketError("Connection is already closed")
          try:
              return self.read_message()
          except UnicodeError as e:
              logger.info('websocket.receive: UnicodeError {}'.format(e))
              self.close(1007)
          except WebSocketError as e:
              logger.info('websocket.receive: WebSocketError {}'.format(e))
              self.close(1002)
          except Exception as e:
              logger.info('websocket.receive: Unknown error {}'.format(e))
              raise e
docs: Read and return a message from the stream. If `None` is returned, then
          the socket is considered closed/errored.