Получение данных с помощью веб-сокета с 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 не имеет этой функциональности.