2017-12-07 1 views
2

방출 할 수 없습니다 wss://streamer.cryptocompare.com/socket.io/?transport=websocket는 Cryptocompare의 웹 소켓에 연결하고 내가 <a href="https://www.cryptocompare.com/api/" rel="nofollow noreferrer">Cryptocompare's WebSocket</a>에 연결을 시도하고있다 요청

내가 실시간으로 가격을받을 수이 웹 소켓에 연결해야합니다. 나는 다음과 같은 시도 웹 소켓 클라이언트를 사용하여

1. 접근 한

import websocket as ws 
socket = ws.create_connection('wss://streamer.cryptocompare.com/socket.io/?transport=websocket', timeout = 10) 
socket.connected 

이이 방법의 웹 소켓을 cryptocompare 저를 연결하지만, 나에게 메시지를 보낼 수 없습니다 True

를 반환합니다. Cryptocompare의 API의 지침에 따라, 나는 사용 :

socket.send('SubAdd',{'subs': ['0~Poloniex~BTC~USD']})

이 위의 코드는이 오류를 반환

ValueError: Invalid OPCODE

의 자바 스크립트 코드 API에 주어진입니다 같은 :

socket.emit('SubAdd', { subs: ['0~Poloniex~BTC~USD'] });

나는 내가 뭘하고 있는지 이해할 수 없다. socketIO 클라이언트를 사용하여

2 겨

from requests.exceptions import ConnectionError 
from socketIO_client import SocketIO 

try: 
    socket = SocketIO('wss://streamer.cryptocompare.com/socket.io/?transport=websocket', wait_for_connection=False) 
    socket.wait() 
except ConnectionError: 
    print('The server is down. Try again later.') 

이 다음과 같은 출력을 제공합니다

ConnectionError: HTTPConnectionPool(host='wss', port=80): Max retries exceeded with url: //streamer.cryptocompare.com/socket.io/transport=websocket/socket.io/?EIO=3&transport=polling&t=1512683258219-0 (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fbd0c273400>: Failed to establish a new connection: [Errno -2] Name or service not known',)) 

이상하게도 나는 같은 데

답변

0

을 감사합니다이 문제에 대해 어떤 도움을 발행물. emit은 socket.io에 의해 제공되며 네이티브 Websocket 구현체는이를 구현하지 않습니다. 기본적으로 누락 된 것은 구독을 설정하기 전에 방출을 호출해야한다는 것입니다. 여기

from requests.exceptions import ConnectionError 
from socketIO_client import SocketIO 

try: 
    socket = SocketIO('wss://streamer.cryptocompare.com/socket.io/?transport=websocket', wait_for_connection=False) 
    socket.emit('SubAdd', { subs: ['0~Poloniex~BTC~USD'] }); 
    socket.wait() 
except ConnectionError: 
    print('The server is down. Try again later.') 

은 위의 코드는 여전히 오류를 제공 https://gist.github.com/jessemlay/ac856ebe015f408263df9a28787adf6f

+0

을 도움이된다면 각도를 사용하여 작업하는 요점이다. 나는 이것을 시도했지만 항상 연결 오류가 있습니다. –

관련 문제