openatx / adbutils

pure python adb library for google adb service.
MIT License
729 stars 173 forks source link

AdbConnection创建连接超时 #119

Closed jakernel closed 2 months ago

jakernel commented 2 months ago

adbutils/_adb.py 这一行设置的超时时间会不会太短,adb server 未启动的情况下,每次都报 timeout 我修改为3秒后,才可以正常启动

s.settimeout(.1) # prevent socket hang

def _create_socket(self):
        adb_host = self.__host
        adb_port = self.__port
        s = socket.socket()
        try:
            s.settimeout(.1) # prevent socket hang
            s.connect((adb_host, adb_port))
            s.settimeout(None)
            return s
        except socket.timeout as e:
            raise AdbTimeout("connect to adb server timeout")
        except socket.error as e:
            raise AdbConnectionError("connect to adb server failed: %s" % e)

    def _safe_connect(self):
        try:
            return self._create_socket()
        except AdbConnectionError:
            subprocess.run([adb_path(), "start-server"], timeout=20.0)  # 20s should enough for adb start
            return self._create_socket()
codeskyblue commented 2 months ago

这我倒是没想到,连接建立要这么久的呀

codeskyblue commented 2 months ago

我先改到3s了,下个版本会带上的