47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
import json
|
|
import websocket
|
|
json_payload = {
|
|
"jsonrpc": 2,
|
|
"method": "subscribe",
|
|
"params": {
|
|
"subscription_id": 1,
|
|
"type": "books",
|
|
"filter": {
|
|
"symbol": [
|
|
"ETH"
|
|
],
|
|
"expiration": [
|
|
"2023/04/28"
|
|
],
|
|
"venue": [
|
|
"deribit"
|
|
]
|
|
}
|
|
},
|
|
"id": 1
|
|
}
|
|
json_string = json.dumps(json_payload)
|
|
ws_url = "ws://localhost:8080"
|
|
message_count = [0]
|
|
# Define a callback function to handle received messages
|
|
def on_message(ws, message):
|
|
print("Received message: ", message)
|
|
if(message_count[0]>0):
|
|
ws.close()
|
|
message_count[0]+=1
|
|
|
|
# Define a callback function to handle the WebSocket connection opening
|
|
def on_open(ws):
|
|
print("WebSocket connection opened")
|
|
ws.send(json_string)
|
|
|
|
# Define a callback function to handle the WebSocket connection closing
|
|
def on_close(ws):
|
|
print("WebSocket connection closed")
|
|
# Create a WebSocket connection and send the JSON payload
|
|
ws = websocket.WebSocketApp(ws_url, on_message=on_message, on_open=on_open, on_close=on_close)
|
|
|
|
# Start the WebSocket connection and listen for incoming messages
|
|
ws.run_forever()
|
|
input("press any key to continue")
|