Skip to main content

Establish Connections

Establish Market Data Connections

The following example demonstrates how to establish five WebSocket connections for market data simultaneously.

info

Typically, multiple simultaneous connections are only needed when using WebSocket. For Web API, it is recommended to use a single connection for easier management.

Web API rate limits are shared across all connections; each WebSocket connection can subscribe to up to 200 targets.

from fubon_neo.sdk import FubonSDK

sdk = FubonSDK()
accounts = sdk.login("Your ID", "Your password" ,"Your cert path" ,"Your cert password") # Login is required to obtain market data permissions
websockets = [] # List of WebSocket interfaces for different connections

for _ in range(5): # Create 5 connections
sdk.init_realtime() # Start a market data connection
#ws = sdk.marketdata.websocket_client.stock # WebSocket interface (Stocks)
ws = sdk.marketdata.websocket_client.futopt # WebSocket interface (Futures/Options)

# Add the interface to the available list
websockets.append(ws)

# Set WebSocket callbacks and open connections
for ws in websockets:
## Callback functions need to be defined separately ##
ws.on('message', handle_message) # Register market data callback
ws.on("connect", handle_connect) # Register connection event callback
ws.on("disconnect", handle_disconnect) # Register disconnection event callback
ws.on("error", handle_error) # Register error event callback

ws.connect() # Activate the connection

# Disconnect connections
# for ws in websockets:
# we.disconnect()