Python разъем для подключения сигнализатора к Windows серверу - PullRequest
0 голосов
/ 27 января 2020

Я пытался установить сокет-соединение из моего python сценария с моим сервером. Я создаю базовый сценарий подключения c (ниже) и успешно подключаюсь к Windows Server 2016 (версия ISS: 10.0.14393.0). Но когда я пытаюсь использовать тот же сценарий на Windows сервере 2019 (версия ISS 10.0.17763.1), я получаю эту ошибку:

Состояние рукопожатия 400 Недопустимый класс запроса 'websocket._exceptions.WebSocketBadStatusException' ОШИБКА: SignalRCoreClient: Состояние рукопожатия 400 Неверный запрос класса "websocket._exceptions.WebSocketBadStatusException"

Что может вызвать эту проблему?

Python скрипт:

from signalrcore.hub_connection_builder import HubConnectionBuilder

socket_url = 'ws://mysocketurl.com'
def myprint(msg):
    print(msg)
    pass
try:
    print("Starting Connection...")
    hub_connection = HubConnectionBuilder()\
             .with_url(socket_url,
             options={
                   "headers": {
                           "DeviceID": '123123'
                    }
                 })\
                 .with_automatic_reconnect({
                    "type": "raw",
                    "keep_alive_interval": -1,
                    "reconnect_interval": 5
                 }).build()
    hub_connection.on("Connected", myprint)
    hub_connection.start()

except Exception as exc:
    print("Socket stop working. Error:")
    hub_connection.stop()

1 Ответ

0 голосов
/ 03 февраля 2020

Из списка протоколов сервера вам нужно будет добавить протокол WebSocket и установить его. После этого обновления все заработало.

...