Попытка подключения RCON для Rust (Game) в Python - PullRequest
0 голосов
/ 01 мая 2020

Я скажу вам прямо сейчас, у меня минимальный опыт работы с веб-сокетами. Я пытаюсь реализовать некоторые функциональные возможности JS webrcon для ржавчины https://github.com/Facepunch/webrcon/tree/gh-pages, но у меня возникают проблемы с его работой. Я установил соединение, и оно дает мне правильную информацию о сервере, к которому я подключаюсь. Я пытаюсь получить любую команду для отправки и затем вернуть информацию в моей консоли, но каждый раз, когда я использую recv(), я получаю websockets.exceptions.ConnectionClosedError: code = 1011 (unexpected error), no reason. Я видел различные «решения», которые не работали, например, устанавливая ping_timeout или ping_interval в None, но я получаю ту же ошибку. Вот код, который у меня есть на данный момент.

import asyncio
import websockets as ws

async def main():
    information = "ws://<host>:<port>/<password>"
    async with ws.connect(information, ping_interval=None, ping_timeout=None) as websocket:
        commands = await websocket.send("<console command goes here?>")

        # Below closes 1011
        print(await websocket.recv())

        # Below closes 1011
        async for message in websocket:
            print(message)

        # Below prints None
        print(commands)
        exit()


if __name__ == '__main__':
    asyncio.get_event_loop().run_until_complete(main())

Вот полная ошибка.

Traceback (most recent call last):
  File "C:/Users/<user>/PycharmProjects/rustcord/venv/main.py", line 10, in main
    print(await websocket.recv())
  File "C:\Users\<user>\PycharmProjects\rustcord\venv\lib\site-packages\websockets\protocol.py", line 509, in recv
    await self.ensure_open()
  File "C:\Users\<user>\PycharmProjects\rustcord\venv\lib\site-packages\websockets\protocol.py", line 812, in ensure_open
    raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedError: code = 1011 (unexpected error), no reason

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

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