Receive data from the server.
86 def receive(self, timeout=1):
87 r"""!Receive data from the server
88
89 @param timeout: to wait for incoming data in seconds
90 @return received data"""
91 try:
92 read, _, _ = select.select([self._sock], [], [], timeout)
93 if not read:
94 return False
95
96 header = self._sock.recv(HEADERSIZE).decode("utf-8")
97 if not len(header):
98 return False
99
100 length = int(header.strip())
101 received = self._sock.recv(length).decode("utf-8")
102
103 logging.debug("recv header: '%s'", header)
104 logging.debug("received %d bytes: %s", len(received), received)
105 return received
106 except socket.error as e:
107 logging.error(e)
108 return False
109