///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。 private void NativeOnFrontConnected() { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnFrontConnected; ProcessResponse(ref rsp); }
///深度行情通知 private void NativeOnRtnDepthMarketData(CtpDepthMarketData depthMarketData) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnRtnDepthMarketData; rsp.Item1 = new CtpAny(depthMarketData); ProcessResponse(ref rsp); }
///询价通知 private void NativeOnRtnForQuoteRsp(CtpForQuoteRsp forQuoteRsp) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnRtnForQuoteRsp; rsp.Item1 = new CtpAny(forQuoteRsp); ProcessResponse(ref rsp); }
///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 ///@param nReason 错误原因 /// 0x1001 网络读失败 /// 0x1002 网络写失败 /// 0x2001 接收心跳超时 /// 0x2002 发送心跳失败 /// 0x2003 收到错误报文 private void NativeOnFrontDisconnected(int reason) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnFrontDisconnected; rsp.Item1 = new CtpAny(reason); ProcessResponse(ref rsp); }
///心跳超时警告。当长时间未收到报文时,该方法被调用。 ///@param nTimeLapse 距离上次接收报文的时间 private void NativeOnHeartBeatWarning(int timeLapse) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnHeartBeatWarning; rsp.Item1 = new CtpAny(timeLapse); ProcessResponse(ref rsp); }
private void DoRspError(ref CtpResponse rsp) { var handler = OnRspError; if (handler != null) { handler(this, rsp.Item1.AsRspInfo, rsp.RequestID, rsp.IsLast); } }
private void DoRspUserLogout(ref CtpResponse rsp) { var handler = OnRspUserLogout; if (handler != null) { handler(this, rsp.Item1.AsUserLogout, rsp.Item2, rsp.RequestID, rsp.IsLast); } }
private void DoRtnDepthMarketData(ref CtpResponse rsp) { var handler = OnRtnDepthMarketData; if (handler != null) { handler(this, rsp.Item1.AsDepthMarketData); } }
private void DoRspSubMarketData(ref CtpResponse rsp) { var handler = OnRspSubMarketData; if (handler != null) { handler(this, rsp.Item1.AsSpecificInstrument, rsp.Item2, rsp.RequestID, rsp.IsLast); } }
private void DoRspUnSubForQuoteRsp(ref CtpResponse rsp) { var handler = OnRspUnSubForQuoteRsp; if (handler != null) { handler(this, rsp.Item1.AsSpecificInstrument, rsp.Item2, rsp.RequestID, rsp.IsLast); } }
private void DoRtnForQuoteRsp(ref CtpResponse rsp) { var handler = OnRtnForQuoteRsp; if (handler != null) { handler(this, rsp.Item1.AsForQuoteRsp); } }
private void DoFrontConnected(ref CtpResponse rsp) { var handler = OnFrontConnected; if (handler != null) { handler(this); } }
private void DoFrontDisconnected(ref CtpResponse rsp) { var handler = OnFrontDisconnected; if (handler != null) { handler(this, rsp.Item1.AsInt.Value); } }
private void DoHeartBeatWarning(ref CtpResponse rsp) { var handler = OnHeartBeatWarning; if (handler != null) { handler(this, rsp.Item1.AsInt.Value); } }
///错误应答 private void NativeOnRspError(CtpRspInfo rspInfo, int requestId, bool isLast) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnRspError; rsp.Item1 = new CtpAny(rspInfo); rsp.RequestID = requestId; rsp.IsLast = isLast; ProcessResponse(ref rsp); }
///登出请求响应 private void NativeOnRspUserLogout(CtpUserLogout userLogout, CtpRspInfo rspInfo, int requestId, bool isLast) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnRspUserLogout; rsp.Item1 = new CtpAny(userLogout); rsp.Item2 = rspInfo; rsp.RequestID = requestId; rsp.IsLast = isLast; ProcessResponse(ref rsp); }
///取消订阅询价应答 private void NativeOnRspUnSubForQuoteRsp(CtpSpecificInstrument specificInstrument, CtpRspInfo rspInfo, int requestId, bool isLast) { var rsp = new CtpResponse(); rsp.TypeId = CtpResponseType.OnRspUnSubForQuoteRsp; rsp.Item1 = new CtpAny(specificInstrument); rsp.Item2 = rspInfo; rsp.RequestID = requestId; rsp.IsLast = isLast; ProcessResponse(ref rsp); }
public override void ProcessResponse(ref CtpResponse rsp) { switch (rsp.TypeId) { case CtpResponseType.Response: case CtpResponseType.Max: break; default: RspHandlerList[rsp.TypeId](ref rsp); break; } }
private void DoRspError(ref CtpResponse rsp) { var handler = OnRspError; handler?.Invoke(this, rsp.Item1.AsRspInfo, rsp.RequestID, rsp.IsLast); }
private void DoRspSubForQuoteRsp(ref CtpResponse rsp) { var handler = OnRspSubForQuoteRsp; handler?.Invoke(this, rsp.Item1.AsSpecificInstrument, rsp.Item2, rsp.RequestID, rsp.IsLast); }
private void DoRtnDepthMarketData(ref CtpResponse rsp) { var handler = OnRtnDepthMarketData; handler?.Invoke(this, rsp.Item1.AsDepthMarketData); }
private void DoRtnForQuoteRsp(ref CtpResponse rsp) { var handler = OnRtnForQuoteRsp; handler?.Invoke(this, rsp.Item1.AsForQuoteRsp); }
private void DoFrontConnected(ref CtpResponse rsp) { var handler = OnFrontConnected; handler?.Invoke(this); }
private void DoFrontDisconnected(ref CtpResponse rsp) { var handler = OnFrontDisconnected; handler?.Invoke(this, rsp.Item1.AsInt.Value); }
private void DoRspUserLogout(ref CtpResponse rsp) { var handler = OnRspUserLogout; handler?.Invoke(this, rsp.Item1.AsUserLogout, rsp.Item2, rsp.RequestID, rsp.IsLast); }
private void DoHeartBeatWarning(ref CtpResponse rsp) { var handler = OnHeartBeatWarning; handler?.Invoke(this, rsp.Item1.AsInt.Value); }
private void DoRspUnSubMarketData(ref CtpResponse rsp) { var handler = OnRspUnSubMarketData; handler?.Invoke(this, rsp.Item1.AsSpecificInstrument, rsp.Item2, rsp.RequestID, rsp.IsLast); }