All
필터링 기준:
현금을 내 계정으로 입금하려면 어떻게 하나요?
계정 인증에 대한 도움이 필요합니다
왜 내 계정에 접근할 수 없나요?
암호화폐 출금 수수료가 있나요?
계정에 로그인하는 데 도움이 필요합니다
저희 WebSocket API는 WebSocket을 지원하는 모든 프로그래밍 언어(Python, Javascript, C#, Go 등)를 통해 액세스할 수 있습니다. 많은 프로그래밍 언어는 프로그래머가 WebSocket 프로토콜의 복잡한 세부 사항을 이해하지 않고도 WebSocket 인터페이스를 사용할 수 있도록 하는 WebSocket 라이브러리를 제공합니다.
Python은 다양한 WebSocket 라이브러리를 제공하는 한 가지 예시입니다. 그렇다면 프로그래머는 어떤 라이브러리를 사용해야 하는지, 또는 선택한 라이브러리를 가장 효과적으로 사용하는 방법을 어떻게 알 수 있을까요? 다음은 저희가 권장하는 Python WebSocket 라이브러리와 다양한 시나리오에서 라이브러리를 사용하는 방법에 대한 몇 가지 예시를 제공합니다.
저희가 권장하는 Python WebSocket 라이브러리는 websocket-client 라이브러리입니다. 이 라이브러리는 Python 2와 Python 3 모두와 호환되지만, 새로운 코드의 경우 Python 2가 더 이상 사용되지 않는 과정에 있으므로 Python 3만 사용하는 것을 권장합니다.
websocket-client 라이브러리는 Python Package Index(pypi.org)에서 다운로드하여 포함된 setup.py 파일을 통해 설치할 수 있습니다.
python setup.py install
또는 표준 Python 설치 도구(pip)를 통해 동시에 다운로드 및 설치할 수 있습니다.
pip install websocket-client
WebSocket 클라이언트 라이브러리는 동기(블로킹) WebSocket 클라이언트 또는 비동기(논블로킹, 이벤트 기반) 클라이언트를 생성하는 데 사용될 수 있습니다. 두 버전 모두 저희 API와 성공적으로 상호 작용할 수 있으므로, 선택은 구현의 특정 요구 사항(예: 다른 작업이 병렬로 수행되어야 하는지 여부)에 따라 달라집니다.
예를 들어, 간단한 시장 가격 모니터링 앱은 새로운 시장 데이터를 기다리고 시장 가격을 지정된 값과 비교하는 동기 클라이언트를 사용할 수 있지만, 모든 기능을 갖춘 트레이딩 봇은 별도의 스레드에서 시장 데이터 피드를 사용하는 비동기 클라이언트를 사용해야 합니다(분석 및 트레이딩 작업이 병렬로 계속될 수 있도록).
다음은 동기 및 비동기 클라이언트의 기본 예시이며, 더 복잡한 API 코드의 시작점으로 사용될 수 있습니다.
동기 WebSocket API 인터페이스
# Import WebSocket client libraryfrom websocket import create_connection# Connect to WebSocket API and subscribe to trade feed for XBT/USD and XRP/USDws = create_connection("wss://ws.kraken.com/")ws.send('{"event":"subscribe", "subscription":{"name":"trade"}, "pair":["XBT/USD","XRP/USD"]}')# Infinite loop waiting for WebSocket datawhile True: print(ws.recv())
비동기 WebSocket API 인터페이스
# Import WebSocket client library (and others)import websocketimport _threadimport time# Define WebSocket callback functionsdef ws_message(ws, message): print("WebSocket thread: %s" % message)def ws_open(ws): ws.send('{"event":"subscribe", "subscription":{"name":"trade"}, "pair":["XBT/USD","XRP/USD"]}')def ws_thread(*args): ws = websocket.WebSocketApp("wss://ws.kraken.com/", on_open = ws_open, on_message = ws_message) ws.run_forever()# Start a new thread for the WebSocket interface_thread.start_new_thread(ws_thread, ())# Continue other (non WebSocket) tasks in the main threadwhile True: time.sleep(5) print("Main thread: %d" % time.time())
WebSocket 클라이언트 라이브러리에 대한 전체 세부 정보 및 지침은 라이브러리 코드 아카이브를 통해 확인할 수 있습니다.