def METHOD_NAME(self):
    try:
        self.socket.settimeout(SOCKET_TIMEOUT)
        self.socket.listen(5)
        self.listening = True
        try:
            conn, _ = self.socket.accept() # pylint:disable=no-member
        except socket.timeout:
            if self.raise_on_timeout:
                raise
            return
        try:
            self.client_data = conn.recv(100)
            conn.send(b'bye')
        finally:
            conn.close()
    finally:
        self.close()