Может ли GAE ограничить мои соединения через веб-сокет? - PullRequest
1 голос
/ 03 февраля 2020

Я использую приложение websocket_client python и следующий код -

ws = websocket.WebSocket(sslopt={"cert_reqs": ssl.CERT_NONE})
ws.connect("wss://something.synology.me:1111")
ws.send(json.dumps({
    'token': device_token,
    'payload': {'volume': 0.5}

}))
ws.close()

Иногда это работает хорошо, иногда я получаю следующую ошибку -

WebSocketAddressException: [Errno -2] Name or service not known

Это работает более или менее Хорошо вчера (скажем, сработало один раз в две попытки), но сегодня не работает вообще. Я пытался запустить тот же код с локальным Google App Engine - он работает хорошо.

Возможно ли, что сервер GAE каким-то образом ограничивает мои соединения? Что я должен проверить?

Upd. дальнейший анализ показывает, что эта проблема может быть вызвана этой частью кода :

def _get_addrinfo_list(hostname, port, is_secure, proxy):
    phost, pport, pauth = get_proxy_info(
        hostname, is_secure, proxy.host, proxy.port, proxy.auth, proxy.no_proxy)
    try:
        if not phost:
            addrinfo_list = socket.getaddrinfo(
                hostname, port, 0, socket.SOCK_STREAM, socket.SOL_TCP)
            return addrinfo_list, False, None
        else:
            pport = pport and pport or 80
            addrinfo_list = socket.getaddrinfo(phost, pport, 0, socket.SOCK_STREAM, socket.SOL_TCP)
            return addrinfo_list, True, pauth
    except socket.gaierror as e:
        raise WebSocketAddressException(e)

, т. е. при запуске socket.getaddrinfo в GAE может быть проблема.

1 Ответ

1 голос
/ 06 февраля 2020

Проблема была в биллинге - он не был включен, поэтому сокеты не работали должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...