Получение данных с помощью веб-сокета с JSON-RPC в Python

Я использую свой локальный компьютер в качестве клиента, подключенного к серверу mopidy с tunein. Сервер работает нормально и будет принимать отправленные вызовы, которые я делаю с помощью JSON-RPC, например:

addreq = {
   'id': 0,
   'jsonrpc': '2.0',
   'method': 'core.tracklist.add',
   'params': {'at_position': 0, 'uri': 'tunein:station:s249994'}
}

wsaddr = 'ws://127.0.0.1:6680/mopidy/ws'
ws = websocket.WebSocket()
ws.connect(wsaddr)

ws.send(json.dumps(addreq))

Я не могу получить данные на стороне клиента, когда мне это нужно. Когда я изучал использование JSON-RPC, я заметил нечто, называемое "уведомлениями", и когда вы используете с ним веб-сокеты, вы не сможете получить данные обратно при совершении вызова. Я не совсем понял это, потому что я просто искал способ сделать поиск в mopidy, например, и получить список JSON:

search_req = {
    'id': 0,
    'jsonrpc': '2.0',
    'method': 'core.tracklist.search',
    'params': {'uris': 'tunein:station:s249994'}
}

Когда я использую звонки, такие как:

ws.recv()

Я получаю ошибку возврата, что это не может быть сделано, потому что объект ws не имеет этой функциональности.

0 ответов

Другие вопросы по тегам