实时推送
PushClient 是进程内单例。相同 Tiger ID 同时只能有一个活跃连接;新连接会通过 ConnectionKickout 踢出旧连接。连接前必须依次设置 TigerConfig 和完整的 IApiComposeCallback。
// callback 是 callbacks 页面中的完整 IApiComposeCallback 实现实例
PushClient client = PushClient.GetInstance()
.Config(config)
.ApiComposeCallback(callback);
if (!await client.ConnectAsync())
throw new InvalidOperationException("push connection failed");
uint requestId = client.SubscribeQuote(new HashSet<string> { "AAPL" });Connect/ConnectAsync 会持续重试底层连接;单次连接等待常量为 5000ms,重试间隔为 2000ms。应用退出时调用 Disconnect()。行情和账户推送分别要求市场数据及账户访问权限;订阅确认通过 SubscribeEnd 异步返回,请求 ID 为 0 表示调用时未连接。
连接意外关闭时客户端会自动重连,但不会记录或恢复已有订阅,断线期间的消息也不会补发。应用应在重新收到 ConnectionAck 后重新订阅,并解析 SubscribeEnd 的 result JSON;只有内部 code == 0 才表示成功。
Updated about 1 month ago
Did this page help you?
