久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

C#封裝CTP期貨交易接口:從接口拆解到生產(chǎn)級落地

C#封裝CTP期貨交易接口:從接口拆解到生產(chǎn)級落地 簡介基于上期技術(shù)綜合交易平臺CTP2011.4.19版本二次封裝的C#類庫專為期貨量化開發(fā)與交易系統(tǒng)集成場景設(shè)計解決C#環(huán)境直接對接原生CTP接口繁瑣、多賬戶同時登錄管理不便等實際問題。整套資料共65個文件、約452KB主體包含.h/.cpp原生接口聲明與實現(xiàn)、.cs托管封裝代碼配合.sln/.vcproj/.vcxproj工程文件、.xml/.con/.dtd配置定義以及DLL和LIB庫覆蓋交易與行情雙通道按文檔與代碼結(jié)合的方式呈現(xiàn)便于快速理解交易Api與行情Api的調(diào)用層級。已有391人學(xué)習(xí)下載。包內(nèi)將TradeApi、MdApi分開封裝交易和行情職責(zé)清晰提供自動生成C#接口腳本、Struct結(jié)構(gòu)定義以及多賬戶登錄相關(guān)處理邏輯從接口聲明到托管包裝的完整鏈路均清晰可查可直接參考其命名與組織方式適合具備C#基礎(chǔ)并希望掌握CTP接口封裝的開發(fā)者研讀。1. 上期技術(shù)綜合交易平臺(C#封裝)量化團(tuán)隊繞不開的那個“黑匣子”接期貨量化系統(tǒng)時團(tuán)隊清一色C#柜臺側(cè)的上期技術(shù)綜合交易平臺CTP卻只給C接口指針、回調(diào)、結(jié)構(gòu)體文檔厚得能墊顯示器。第一次聯(lián)調(diào)就差點翻車不是連不上是不知道從哪下手包這一層。后來把CTP的行情通道和交易通道用C#重新封裝事情才順起來。這篇文章講這條封裝的落地路徑接口怎么拆、最小代碼怎么寫、參數(shù)怎么設(shè)、哪些地方特別容易踩坑。適合期貨量化開發(fā)、交易系統(tǒng)集成工程師以及想用C#重構(gòu)交易終端的團(tuán)隊。2. CTP接口組成與C#封裝三條路線先選型再動手2.1 一個C核心、兩套獨立通道行情前置與交易前置CTP對外只提供C動態(tài)庫開發(fā)者以加載動態(tài)庫的方式獲得API能力。典型結(jié)構(gòu)是兩套通道行情通道負(fù)責(zé)連接行情前置、訂閱合約、接收快照和深度行情交易通道負(fù)責(zé)登錄、認(rèn)證、查詢賬戶、報單、撤單以及接收成交回報和資金變動。兩套通道的連接地址、會話狀態(tài)、重連機(jī)制彼此獨立封裝的代碼也建議按這個邊界拆成兩個模塊不要合并成一個什么都干的類。為什么分成兩路行情推送頻率高、要求低延遲一個合約一秒可能推幾十筆交易指令頻率低但絕對要求可靠。如果共用一條TCP連接行情高峰會把交易指令擠到隊列后面撤單晚一刻可能就是要命。CTP把兩條通道物理隔開本身就是為生產(chǎn)環(huán)境設(shè)計的。封裝時必須保留這種分離否則等于把柜臺的優(yōu)化破壞掉。C側(cè)的交互模型是API與SPI分離應(yīng)用繼承回調(diào)類重寫OnRtnXXX方法CTP把數(shù)據(jù)通過回調(diào)指針交給應(yīng)用。對應(yīng)到C#世界就是C回調(diào)橋接層加C#事件委托。橋接層要處理的問題包括C線程進(jìn)入托管代碼、結(jié)構(gòu)體內(nèi)存拷貝、委托對象不能被垃圾回收。這些細(xì)節(jié)決定了封裝是三天寫完還是三周填坑。2.2 P/Invoke、C/CLI還是第三方庫三條路線的取舍第一條路線是P/Invoke直接用C#聲明入口函數(shù)用結(jié)構(gòu)體Layout映射C數(shù)據(jù)結(jié)構(gòu)。優(yōu)點是依賴最小、接口更新時可以自己跟進(jìn)缺點是結(jié)構(gòu)體對齊、回調(diào)委托生命周期要自己管理第一版工作量最大。第二條路線是C/CLI寫一個托管C包裝動態(tài)庫內(nèi)部用原生C調(diào)CTP外部暴露純C#類。優(yōu)點是橋接代碼用C寫指針操作和回調(diào)翻譯都順手缺點是需要維護(hù)兩個工程編譯選項復(fù)雜團(tuán)隊里要有人真正懂C否則后期沒人敢動。第三條路線是直接使用社區(qū)現(xiàn)成的C#封裝庫。優(yōu)點是上手最快API設(shè)計更接近C#風(fēng)格缺點是版本跟進(jìn)依賴社區(qū)期貨公司要求升級接口版本時容易被卡住有些封裝還會把底層錯誤細(xì)節(jié)吞掉排查問題時像在猜謎。適合快速驗證業(yè)務(wù)不適合長期跑真金白銀。路線學(xué)習(xí)成本版本跟進(jìn)回調(diào)控制力適合場景P/Invoke 手寫中自己跟進(jìn)強(qiáng)長期維護(hù)的生產(chǎn)系統(tǒng)C/CLI 橋接高自己跟進(jìn)很強(qiáng)團(tuán)隊本身會C第三方封裝庫低依賴社區(qū)弱原型驗證、小規(guī)模工具我一般推薦P/Invoke或者C/CLI二選一。穩(wěn)定壓倒一切接口版本掌握在自己手里比什么都重要。選完技術(shù)路線還要決定封裝到哪一層。封裝不是把幾百個接口翻譯一遍而是做一個交易門面會話管理、模型轉(zhuǎn)換、請求與回報關(guān)聯(lián)、狀態(tài)緩存。只做翻譯不做事業(yè)務(wù)層還是寫不順手。2.3 封裝的最小模塊會話、事件、模型、狀態(tài)一個合格的C#封裝對外應(yīng)該是一套貼近業(yè)務(wù)的接口而不是一堆結(jié)構(gòu)體加回調(diào)。我會先把門面定出來public interface ITradeGateway { void Connect(string brokerId, string userId, string password); void Subscribe(string instrumentId); string PlaceOrder(OrderRequest order); void CancelOrder(string exchangeId, string orderSysId); event EventHandlerLoginInfoEventArgs LoggedIn; event EventHandlerOrderEventArgs OrderUpdated; event EventHandlerTickEventArgs TickReceived; }Connect對應(yīng)登錄過程PlaceOrder返回一個本地委托號業(yè)務(wù)層不感知CTP字段撤單也只需要知道交易所ID和柜臺報單號。這樣業(yè)務(wù)方只對接一個C#類將來換別的柜臺實現(xiàn)時替換內(nèi)部實現(xiàn)即可。內(nèi)部至少拆成五塊會話管理、事件分發(fā)、模型映射、請求序列器、狀態(tài)存儲。其中事件分發(fā)是核心CTP的回調(diào)線程既不是UI線程也不是業(yè)務(wù)線程網(wǎng)關(guān)內(nèi)部要維護(hù)一個并發(fā)隊列回調(diào)只投遞不處理工作線程出隊再觸發(fā)事件。這個決定直接影響后面所有性能問題的走向。3. 最小連接先跑通環(huán)境參數(shù)、C#登錄代碼與成功判定3.1 聯(lián)調(diào)前需要確認(rèn)的六類參數(shù)別把流文件目錄和AppID漏掉CTP接入最容易翻車的不是代碼是參數(shù)配對。聯(lián)調(diào)前先列一張參數(shù)確認(rèn)表每一項都找柜臺或運維確認(rèn)而不是自己猜配置項示例說明行情前置地址tcp://x.x.x.x:41213行情通道連接地址由期貨公司分配交易前置地址tcp://x.x.x.x:41205交易通道連接地址BrokerID期貨公司統(tǒng)一編碼登錄必需UserID / Password資金賬號與密碼登錄憑證AppID / AuthCode認(rèn)證編號 / 認(rèn)證碼啟用認(rèn)證后必填缺失直接認(rèn)證失敗流文件目錄C:\ctp_flow保存會話與報單引用的本地目錄流文件目錄最容易被忽略。CTP會把登錄會話、報單序號等狀態(tài)寫進(jìn)這個目錄如果應(yīng)用沒有寫權(quán)限表現(xiàn)是連接能建立但運行一段時間后被斷開重啟又能撐一會。另一個高頻踩坑是接口動態(tài)庫版本與前置版本不一致不少團(tuán)隊在這里消耗一整天最后發(fā)現(xiàn)不是自己代碼問題。我一般會先做一個配置對象把所有參數(shù)收斂到一起啟動時統(tǒng)一校驗和存檔避免散落在各個模塊里public class CtpProfile { public string BrokerId { get; set; } public string UserId { get; set; } public string Password { get; set; } public string AppId { get; set; } public string AuthCode { get; set; } public string MdFrontAddress { get; set; } public string TraderFrontAddress { get; set; } public string FlowPath { get; set; } public void Validate() { if (!TraderFrontAddress.StartsWith(tcp://)) throw new ArgumentException(交易前置地址必須是以 tcp:// 開頭的完整地址); if (string.IsNullOrEmpty(BrokerId) || string.IsNullOrEmpty(UserId)) throw new ArgumentException(BrokerID 和 UserID 不能為空); } }配置對象的好處是啟動時快速暴露問題而不是等登錄失敗后再從一堆控制臺輸出里翻原因。Address校驗這種邏輯放在這里的成本幾乎為零卻能擋住最蠢的配置拼寫錯誤。3.2 C#拉起交易通道的最小代碼初始化、登錄、等待回調(diào)以P/Invoke方案為例常見做法是先聲明加載交易通道動態(tài)庫的入口然后創(chuàng)建API實例并注冊回調(diào)。核心代碼可以收斂成下面這樣[DllImport(thosttraderapi.dll, CallingConvention CallingConvention.Cdecl)] private static extern IntPtr CreateFtdcTraderApi(string pszFlowPath); public void Connect(CtpProfile profile) { _profile profile; Directory.CreateDirectory(profile.FlowPath); // 目錄必須提前存在且可寫 _api CreateFtdcTraderApi(profile.FlowPath); // 創(chuàng)建交易API實例 _callbackBridge new TraderCallbackBridge(this); _api.SetCallback(_callbackBridge); // 注冊回調(diào)橋接對象 _api.SubscribePrivateTopic(2); // 私有流斷線自動補發(fā) _api.SubscribePublicTopic(2); // 公有流斷線自動補發(fā) _api.RegisterFront(profile.TraderFrontAddress); _api.Init(); // 發(fā)起異步連接 }pszFlowPath必須是應(yīng)用有寫權(quán)限的獨立目錄。SubscribePrivateTopic和SubscribePublicTopic的參數(shù)2表示斷線重連后自動補發(fā)數(shù)據(jù)這是生產(chǎn)環(huán)境的推薦值能減少回報丟失帶來的狀態(tài)不一致。Init之后連接是異步的真正連通要看OnFrontConnected回調(diào)而不是看Init返回值。回調(diào)橋接對象必須用字段持有不能用局部變量傳進(jìn)去。C側(cè)保存的是函數(shù)指針C#側(cè)如果委托被垃圾回收回調(diào)觸發(fā)時就是訪問已釋放內(nèi)存表現(xiàn)為隨機(jī)崩潰這類問題排查起來非常傷。連通之后發(fā)送登錄請求public void HandleFrontConnected() { var req new CThostFtdcReqUserLoginField { BrokerID _profile.BrokerId, UserID _profile.UserId, Password _profile.Password, AppID _profile.AppId, AuthCode _profile.AuthCode, ClientIPAddress LocalIPAddress() }; int ret _api.ReqUserLogin(req, _requestId); if (ret ! 0) { Log.Error(登錄請求發(fā)送失敗錯誤碼: {0}, ret); } }ReqUserLogin返回0只表示請求已進(jìn)入發(fā)送隊列不表示登錄成功。登錄結(jié)果必須等回報回調(diào)來判斷。ClientIPAddress建議主動填本機(jī)出口IP部分柜臺會做來源校驗空著也可能被拒。3.3 登錄成功的三個關(guān)鍵值ErrorID、MaxOrderRef與會話持久化登錄響應(yīng)在OnRspUserLogin回調(diào)里返回判斷邏輯如下public void OnRspUserLogin( CThostFtdcRspUserLoginField rsp, CThostFtdcRspInfoField rspInfo, int requestId, bool isLast) { if (rspInfo ! null rspInfo.ErrorID ! 0) { Log.Error(登錄失敗: {0} - {1}, rspInfo.ErrorID, rspInfo.ErrorMsg); return; } _frontId rsp.FrontID; // 前置編號 _sessionId rsp.SessionID; // 會話編號 _currentOrderRef rsp.MaxOrderRef; // 本地報單序號基數(shù) Log.Info(登錄成功交易日: {0}, rsp.TradingDay); }這里保存三個關(guān)鍵值FrontID和SessionID唯一標(biāo)識當(dāng)前會話網(wǎng)絡(luò)斷開重連恢復(fù)時需要用到MaxOrderRef是本地報單引用的基數(shù)后續(xù)每發(fā)一單從它開始遞增。TradingDay決定當(dāng)前交易日像上期所平今倉判斷要用這個日期業(yè)務(wù)層也要記住。只判斷返回值和ErrorID還不夠要把這三個值保存下來。如果進(jìn)程重啟、網(wǎng)絡(luò)閃斷沒有會話信息就無法恢復(fù)后面行情正常但報單狀態(tài)錯亂看起來就是玄學(xué)問題。4. 行情與交易落地訂閱推送、報單撤單與持倉核對4.1 訂閱行情從SubscribeMarketData到tick事件行情通道的登錄流程和交易通道類似登錄成功后才能訂閱合約。訂閱接口一次可以傳多個合約public void SubscribeMarketData(string[] instrumentIds) { var fields new CThostFtdcSubscribeMarketDataField[instrumentIds.Length]; for (int i 0; i instrumentIds.Length; i) { fields[i] new CThostFtdcSubscribeMarketDataField { InstrumentID instrumentIds[i] }; } int ret _mdApi.SubscribeMarketData(fields, fields.Length); if (ret ! 0) { Log.Error(訂閱行情失敗錯誤碼: {0}, ret); } }訂閱是批量接口傳入結(jié)構(gòu)體數(shù)組和數(shù)量不要一個個循環(huán)調(diào)。每個合約的行情數(shù)據(jù)通過OnRtnDepthMarketData回調(diào)進(jìn)來核心字段包括LastPrice最新價、Volume成交量、AskPrice1和BidPrice1盤口價?;卣{(diào)里要做空值防護(hù)集合競價階段部分字段會是默認(rèn)值。行情回調(diào)里絕對不能做耗時操作。常見做法是回調(diào)里只把數(shù)據(jù)拷貝到一個線程安全的隊列由獨立行情線程消費private readonly ChannelTickData _tickChannel Channel.CreateUnboundedTickData(); void OnRtnDepthMarketData(TickData tick) { _tickChannel.Writer.TryWrite(tick); // 只入隊不做業(yè)務(wù) } async Task TickLoopAsync() { while (await _tickChannel.Reader.WaitToReadAsync()) { var tick await _tickChannel.Reader.ReadAsync(); RaiseTick(tick); // 在業(yè)務(wù)線程觸發(fā)事件 } }這里用Channel而不是ConcurrentQueue是因為Channel支持異步讀取消費者線程可以掛起等待而不是輪詢減少空轉(zhuǎn)CPU。行情高頻時這個設(shè)計能讓業(yè)務(wù)處理與網(wǎng)絡(luò)接收解耦行情再快也不阻塞CTP回調(diào)線程。4.2 下單與撤單報單字段、狀態(tài)機(jī)與OrderRef管理下單接口的入?yún)⒖雌饋碜侄味嗾嬲龢I(yè)務(wù)相關(guān)的就幾個。核心代碼如下public string PlaceOrder(OrderRequest order) { var req new CThostFtdcInputOrderField { BrokerID _profile.BrokerId, InvestorID _profile.UserId, InstrumentID order.InstrumentId, OrderRef GetNextOrderRef(), // 本地遞增報單號 Direction order.Direction, // 0買 / 1賣 CombOffsetFlag order.Offset, // 0開 / 1平 / 3平今 CombHedgeFlag 1, // 1投機(jī) LimitPrice order.Price, VolumeTotalOriginal order.Volume, TimeCondition 3, // 當(dāng)日有效 VolumeCondition 1, // 任何數(shù)量都接受 ContingentCondition 1, MinVolume 1 }; int ret _api.ReqOrderInsert(req, _requestId); if (ret ! 0) { Log.Error(下單請求發(fā)送失敗錯誤碼: {0}, ret); return null; } return ${order.InstrumentId}_{req.OrderRef}; // 本地業(yè)務(wù)號 }OrderRef必須單調(diào)遞增不能隨機(jī)生成不能重啟后從1重新計數(shù)。它和柜臺返回的OrderSysID共同標(biāo)識一筆報單重復(fù)或回退都會導(dǎo)致撤單失敗。GetNextOrderRef的實現(xiàn)用Interlocked.Increment并在登錄時用MaxOrderRef初始化。CombOffsetFlag要注意上期所區(qū)分平今和平昨其他交易所不區(qū)分。封裝層最好統(tǒng)一暴露開倉、平倉、平今三個枚舉而不是讓業(yè)務(wù)直接填字符。報單提交后不是立即成功柜臺會通過OnRtnOrder連續(xù)推送多次狀態(tài)回報。常見順序是已提交、已報、部分成交、全部成交或已撤。封裝層的OrderUpdated事件要按狀態(tài)機(jī)處理不能用最后一個回報覆蓋全狀態(tài)。部分成交時成交數(shù)量字段在變剩余數(shù)量也在變業(yè)務(wù)層關(guān)聯(lián)合約后要自己維護(hù)這兩者的關(guān)系。撤單相對簡單但有個關(guān)鍵點撤單引用的是柜臺返回的OrderSysID不是本地OrderRef。public void CancelOrder(string exchangeId, string orderSysId) { var req new CThostFtdcInputOrderActionField { BrokerID _profile.BrokerId, InvestorID _profile.UserId, ExchangeID exchangeId, OrderSysID orderSysId, ActionFlag 0 // 0撤單 }; int ret _api.ReqOrderAction(req, _requestId); if (ret ! 0) { Log.Error(撤單請求發(fā)送失敗錯誤碼: {0}, ret); } }ActionFlag還有修改報單的其他值但交易所實際支持有限不要依賴。撤單失敗的最常見原因是用了本地OrderRef而不是柜臺OrderSysID或者報單已經(jīng)全部成交再撤單。4.3 持倉與資金回報只做增量定時查詢做校準(zhǔn)訂單回報和成交回報只能告訴你發(fā)生了什么變化無法保證完整還原持倉。萬一中間丟一條回報或者程序在回報處理到一半時崩潰本地持倉就錯位了而且很難被發(fā)現(xiàn)。真正可靠的方案是定時向柜臺主動查詢持倉和資金用查詢結(jié)果校準(zhǔn)本地狀態(tài)。public void QueryPosition() { var req new CThostFtdcQryInvestorPositionField { BrokerID _profile.BrokerId, InvestorID _profile.UserId }; int ret _api.ReqQryInvestorPosition(req, _requestId); if (ret ! 0) { Log.Error(持倉查詢請求發(fā)送失敗錯誤碼: {0}, ret); } }查詢結(jié)果通過OnRspQryInvestorPosition分批返回isLast標(biāo)志表示最后一條。在查詢結(jié)果返回期間本地緩存不要更新等全量結(jié)果回來再整體替換避免出現(xiàn)中間狀態(tài)的錯誤持倉。查詢頻率要克制連續(xù)高頻查詢會被前置流控報“查詢太頻繁”反過來拖垮正常交易。資金查詢ReqQryTradingAccount也是同理。資金余額、可用資金、凍結(jié)保證金都要以查詢結(jié)果為準(zhǔn)成交回報只能用來更新“凍結(jié)合并”這類增量指標(biāo)。封裝層最好維護(hù)一個LastSyncTime字段每次查詢成功后記錄超過一定閾值自動再查保證狀態(tài)不會長期偏離柜臺。5. C#封裝避坑清單5個真實翻車場景與排查方法5.1 現(xiàn)象登錄成功卻連不上行情日志報流文件相關(guān)錯誤現(xiàn)象交易通道登錄成功行情通道也能連上但運行一段時間后通道自動斷開日志提示創(chuàng)建或?qū)懭胛募≈貑⒑笥只謴?fù)正常一段時間。原因行情API初始化時傳入的流文件目錄不可寫。應(yīng)用部署在系統(tǒng)目錄下或者以服務(wù)賬戶運行時沒有寫權(quán)限。CTP要在流文件里保存行情訂閱狀態(tài)和會話信息寫不進(jìn)去就會在后續(xù)某個時間點斷開連接。這個問題在本地開發(fā)時不容易暴露因為本地管理員權(quán)限充足上線之后才出現(xiàn)。解決初始化API時主動創(chuàng)建目錄并做寫權(quán)限探測不要只傳路徑。用前面提到的CtpProfile.Validate在啟動階段先寫一個臨時文件再刪除確認(rèn)權(quán)限后才繼續(xù)初始化。給每個賬號分配獨立子目錄避免多實例共享流文件導(dǎo)致串號。string flowPath Path.Combine(baseDir, ctp_flow, ${brokerId}_{userId}); Directory.CreateDirectory(flowPath); string probeFile Path.Combine(flowPath, write_test.tmp); File.WriteAllText(probeFile, ok); File.Delete(probeFile);5.2 現(xiàn)象行情一多界面卡死撤單延遲到秒級現(xiàn)象訂閱幾十個合約后行情推送一多UI開始卡頓撤單請求發(fā)出后好幾秒才有回報嚴(yán)重時報單直接超時。原因在CTP回調(diào)線程里做了耗時操作。常見的錯誤包括在OnRtnDepthMarketData里直接更新界面控件、寫數(shù)據(jù)庫、調(diào)用同步鎖。CTP回調(diào)線程是共享的任何一個事件處理器阻塞后面所有回報都排隊表現(xiàn)就是全線延遲。解決回調(diào)只做數(shù)據(jù)投遞業(yè)務(wù)邏輯移到獨立消費線程。用Channel或BlockingCollection處理事件訂閱者也要注意自己的處理速度不要在事件處理器里啟動同步IO。排查時先看回調(diào)線程的堆棧如果有數(shù)據(jù)庫訪問或UI調(diào)用基本就是它。5.3 現(xiàn)象撤單提示找不到原報單報單被秒撤現(xiàn)象高頻策略頻繁下單撤單時撤單回報返回“撤單未找到報單”或“報單已端到端處理”但本地明明還有未成交單。原因OrderRef沒有嚴(yán)格單調(diào)遞增。有些實現(xiàn)用DateTime.Now生成訂單號或者重啟進(jìn)程后從1重新計數(shù)導(dǎo)致新單和老單引用撞車。柜臺拿到的撤單指令對應(yīng)不到正確的報單自然撤不掉。解決OrderRef的唯一性由本地保證使用Interlocked.Increment并且在登錄成功后把MaxOrderRef作為起點。進(jìn)程重啟前把當(dāng)前OrderRef持久化重啟后接著用而不是回退到1。public int GetNextOrderRef() { return Interlocked.Increment(ref _currentOrderRef); } // 登錄回調(diào)里 _currentOrderRef rsp.MaxOrderRef;5.4 現(xiàn)象斷開重連后回報全部正常但持倉狀態(tài)不對現(xiàn)象網(wǎng)絡(luò)閃斷后程序自動重連登錄成功行情也正常但部分報單的回報沒有補過來本地持倉與實際柜臺持倉對不上。原因重連時沒有恢復(fù)會話狀態(tài)。CTP私有流依賴FrontID、SessionID和OrderRef恢復(fù)上下文如果重連后這些值與之前不一致柜臺無法補發(fā)斷線期間的回報。很多實現(xiàn)只做了重連登錄沒做會話恢復(fù)。解決登錄成功時立刻把FrontID、SessionID、OrderRef持久化到本地。重連后調(diào)用會話恢復(fù)接口把保存的值重新設(shè)置回去。沒有收到補發(fā)回報之前不要接受新報單避免訂單狀態(tài)錯上加錯。5.5 現(xiàn)象一個賬號同時登錄多個實例互相被踢下線現(xiàn)象本地回測服務(wù)和一個交易終端同時使用同一個資金賬號其中一個登錄后另一個馬上斷開兩邊反復(fù)互踢。原因同一資金賬號的同時在線會話數(shù)有限。不同柜臺限制不同但超出后前置會主動斷開舊連接或拒絕新連接。開發(fā)環(huán)境多人共用同一個測試賬號時特別常見。解決封裝層維護(hù)會話租約同一賬號只允許一個活躍網(wǎng)關(guān)實例其他實例排隊等待。開發(fā)、測試、生產(chǎn)環(huán)境必須用不同賬號不要把生產(chǎn)賬號拿去聯(lián)調(diào)。排查的時候先看是不是有多個進(jìn)程用同一套賬號參數(shù)。6. 進(jìn)階把封裝做成可運維的交易門面自檢、會話恢復(fù)與行情監(jiān)控封裝走到能下單撤單只是第一步真正能上生產(chǎn)的版本還要把自檢和監(jiān)控做成網(wǎng)關(guān)內(nèi)置能力。我的習(xí)慣是登錄完成后立刻做一次開機(jī)自檢查一次資金、查一次持倉、訂閱一個活躍合約作為行情心跳。自檢不是登錄后跑一次就完而是把結(jié)果落到本地狀態(tài)文件啟動時與上次記錄比對偏差直接告警。public async Task SelfCheckAsync() { Log.Info(開始開機(jī)自檢); QueryTradingAccount(); // 校驗資金接口 QueryPosition(); // 校驗持倉接口 SubscribeMarketData(new[] { _heartbeatInstrument }); await Task.Delay(TimeSpan.FromSeconds(10)); if (_lastTickTime DateTime.Now.AddSeconds(-10)) { Log.Error(行情心跳超時檢查行情通道狀態(tài)); } }重連策略也要固化第一次斷開等1秒第二次2秒指數(shù)退避到30秒封頂。每次重連成功后強(qiáng)制補一次資金和持倉查詢用柜臺數(shù)據(jù)覆蓋本地緩存而不是嘗試把斷線期間的回報拼回來。拼回報這條路看著像省事實際比全量查詢復(fù)雜得多而且容易漏。那次教訓(xùn)之后我把流文件目錄、會話持久化、開機(jī)自檢全部固化成網(wǎng)關(guān)的標(biāo)準(zhǔn)能力這幾年再沒遇到莫名其妙的斷線和持倉錯位。希望這篇能幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本不卡一区| 欧亚不卡| 伊人久久综合影院| 国产嫩草精品A88AV| 天天插天天干| 日韩精品99999| 五月丁香社区婷婷日韩欧美精品影院 | 高清国产av无码| 欧美性生活免费网| 9丨亚洲一区二区在线| 国产区在线| 素颜老阿姨乱情色| 亚洲色欲一区二区三区| 毛片视频白嫩| 熟女自慰久久久| 少妇二级| 又大又黄国产| 青青操97| 亚洲91亚洲| 蜜臀久久99精品久久久老,,| 亚洲精品久| 99精品视频在线观看| 女人双腿搬开让男人桶| 中文啪啪视频| 亚洲丝袜色图| 骚女高跟AV在线| 男人的天堂.com| 久久99操天天日| 思思性爱| 在免费jIzzjIzz在线视频| 亚洲第一精品在线视频| 中文字幕成人| 精品视频一区二区| 黄站在线免费观看| 色欲天天综合久久久无码网中文| 欧美天天综合网| 麻豆亚洲AV成人无码久久精品| 久草综合网| 亚洲综合色图欧美| 一区二区三| 色欲av国内精品久久久久久| 91情色| 久久久久久久人妻丝袜| 欧美激情久操网| 黑人娇小av在线播放| 亚洲黄色| 国产操逼网站亚洲一级黄色| 久久久新亚洲AV| 男女猛烈无遮掩视频免费软件| 精品久久无码午夜福利| 国产成人久久久精品免费AV| 99久久综合| 性爱动态120秒| 五月色综合| www99热| 亚洲情色电影网| 婷婷色一区| 丰满欧美少妇| 天天色踪合| 97精品在线| 黑人精品欧美一区二区蜜桃| J?P?NESEHD熟女熟妇伦| 自拍大香蕉乱插| 免費黃色視頻觀看一| 午夜男人一级A片7777| 国产精品一区二区黄片| 97超碰总站| 91蜜桃传媒精品久久久一区二区| 日韩性爱人人爱人人操| 色色婷婷五月天| 小草精彩毛片| 天天插天天操天天摸天天射天天看| 91久久久久久久| 欧美丝袜中文字幕07在线| 91色综合| 久操精品网| 爱欲AV| 男人的天堂Va| 伦伦成年午夜免费视频| 一区二区 日韩 欧美 国产 传媒| 91精品国产长腿丝袜美女| 大香蕉78| 婷婷六月色开| 五月婷婷青青草娱乐伊人| 男人亚洲天堂| 91粉嫩萝控精品福利网站_精品影音先锋国| 夜夜精品视频| 亚洲精品a人片在线观看视| 超碰97欧美在线| 熟女高潮合集-永久久久-成人AV| 羞涩视频| 综合熟女| 殴美色网| 久久精品国产亚洲AV成人直播| 九九久久久久久爱| 少妇熟女一区二区三区| 色爱国产| 91网站在线播放| 天天视频网站黄| www色色色com| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 性色乱AV一区二区| 黄页av| 天天操天天舔| 欧美综合传媒| 日本成人电影资源网| 爆乳免费黄网站| 国产精品农村妇女| 欧美另类色图片| 天天影视之亚洲综合网| 小情侣高清国产在线视频| 美女毛片999| 天天看天天日| 亚州中文字幕超碰97| 国产强奸乱伦无码视频| 偷拍网站久久男女男| 大逼色网站| 91九色精品熟女内射| 9 1超碰九色| 亚洲图片激情综合另类| 高跟伊人julia ann| 日韩性爱一级片| 麻豆黄色五月天| 亚洲色阁| 99中出在线| 无码天堂| 99在线观看无大码| 久久久免费一级黄片| 99re在线视频这里只有精品| 亚洲清纯综合| 丝袜美腿诱惑亚洲欧美视频在线观看 | 啊啊啊啊啊啊啊好爽不要| 久久性爱视频免费看| 中文字幕视频2区| 一区二区三区美女超清| 久久综合精品一区二区三区| 激情无码日韩| 日本不卡在线二区三区| 亚洲 91 在线| 欧美日韩性爱电影在线| 美女丝袜激情小说| 一区二区三区在线资源| 亚洲不卡三级手机播放| 韩国女主播青草在线| 777AV电影| 亚洲欧美综合网| 99久久久无码| 色乱二区| 欧美亚洲中文| 日日噜噜夜夜久久亚洲一区二区| 色九月婷婷| 婷婷操视频| 无码人妻精品一区二区三区九九| 五月色网| 久久精品国产亚洲AV无码电影| 超碰色大香蕉| 大香蕉色网| 亚乱色| 天久久久噜噜噜久久国产精品爽爽 | 99热国产精品| 色av中文字| 国产熟女完整版中字| 99AV| 大香蕉之青青草原| 91九久| 婷婷中文网| 欧美综合网| 欧美成人色| 色啪网| 国产成人无码a| 色九色久| 亚洲性少妇| 欧美图片偷拍| 无码自拍SM| 欧美性爱18观看| 91精品婷婷国产综合久久| 26uuu久久| 欧美日韩国产精品久久色婷婷| 性欧美体内射精| 乱伦系列一区二区| 又大又长又粗又爽又黄| 国产精品网址| 亚洲在线网站| 欧美在线91| 日本一二三免费久久| 久久久久亚洲一区女同性恋中文字幕| 少妇被玩视频二三区| 少妇滛荡视频| 久久精品店| www亚洲免费| a片在线播放| 韩日欧亚a级| 肉丝无码中文高清| 亚洲精品黑丝| 九九超碰综合网| 欧美 熟女 日韩| 大稥蕉免费视频这里只有精品| www…国产操逼| 久久精品色欧美aⅴ一区二区| 免费αV在线视频| 亚洲国产综合视频| 色色毛片| 无码丰满熟妇一区二区浪潮AV| 亚洲欧美色图| 欧美黄色手机在线观看| 澳门黄片一香蕉视频| 国产91影院| 亚州综合网| 天天干嫩逼网| 97在线免费观看| 久久啊啊啊| 午夜毛片亚洲精品片国产久久久| 国产精品网址| 国内精品嫩模A∨私拍小视频| 98久久| 97久久超碰| 超碰国产精品无码| 在线国产探花| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 成人午夜高潮av猛片| 女人精品内射国产99| 日韩啊V| 亚洲AV无码乱码| 人妻丰满熟妇一区二区三| 国产美女自拍AV| 天天看天天在线精品| 精品国产丝袜一区二区三区乱码| 黄色欧美性爱视频| 激情婷婷五月天| 色噜噜人妻av 中文字幕| 日韩一区二区熟女| 精品欧美日韩在线观看| 91第一页| 26uuu欧美日韩| 国产一区二区欧美日本| 五月天综合| 熟妇熟女一区二三区| yazhousetuoumei| 在线观看视频91| 亚洲少妇自拍中文字幕懂色| 久久综合九色综合欧洲98| 国产亚洲精品久久久久小| 大色综合网| 理论久久婷婷网 8| 91激情国产| 97爱| 97视频网站| 97免费在线观看| 国产第25页在线观看| 国产9l 大屁股| 小说区 图片区色 综合区| 综合色图,成人综合网| 91九久| 嗯嗯啊啊好疼| 久久久97| 色五月婷婷久久| 一区中文字幕二区日韩| 97日韩欧美亚洲| 成人一二| 激情五月天婷婷| 日韩图区| 国产又黄又粗又猛大片| 人妻加勒比东京热| 青青久久久| 午夜a成v人电影| 熟女视频久久| 青青伊人加勒比海| 日本操逼视频在线| 少妇超碰在线| 欧美色狠| 欧美三级一级| 久热伊人| 激情深爱五月天| 9999久久久久| 伊人激情五月天一区二区| 日韩国产品视频中文字| 在线视频 亚洲精品| 国产粉嫩出水在线播放| 久久视频,这里只有精品 | 亚洲精品国产无码高清| 亚洲精品蜜桃久久久一区二区三区| 久草成人影片| 色五月丁香五月| 中文字幕欧美日本乱码一线二线| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 国产精品国产自产拍高清AV| 大茄子熟女AV导航| 亚欧Av| 手机av亚洲丝袜美腿日韩第一页二页| 亚一综合久久久久久久久久| 清清草影| 国产精品极品美女视频| 国产亚洲日本| 亚洲成人一区二区精品| 亚洲国产中文字幕| 综合久久欧美| 欧美日韩制服| 好淫网一二三视区| 97色97好| 久久黄色性爱视频| 中文字幕第7页| 色综合色| 熟女探花啪啪| 亚州久久9| 国产一区二区在线播放量| 屌妞视频久久久久久久久久久久| 国产精品视频自拍在线| 久神马| 黄色av一区二区在线| 日本久久久久久久久久| 中文字幕在线观看丝袜| 操www| 91熟女视频网| 亚州伊人色综台| 五月天婷婷在线看| 精品中文一区二区| 综合色久| 精品欧美А∨无码黑人大荫蒂 | 欧美色999| 国产农村妇女精品一| 蜜乳av一区二区| 国产后入清纯| 欧美大香蕉在线观看| A片大香蕉在线| 久久久久久久久久久999| 亚洲αv一区二区三区| 熟女久久久| 欧美亚洲丝袜人妻制服99| 俄罗斯及免费在线看| 麻豆人妻少妇在线免费观看| 婷婷五月色| 久久久精品91八戒| 67914在线兔费成人视频| 999久久久精品国产| 2024年最新色情网站在线观看| 91/欧美| 久久精品国产精品亚洲艾通辽熟妇| 精品网站9999| 2021久久国产综合精品青草| 97天天综合| 中文字幕精品乱码| 欧美|91色综合| 欧美黄片免费在线观看视频| 欧洲精品二区| 色香综合天天影视综合 | 久久熟妇五十路一区| 欧美日韩操逼嗦吊| 天天操人人操狠狠插| 72av视频| 老色鬼成人精品视频下载大在线观看| 欧美天天综| 色婷婷五月综合| 精品人妻av在线播放| 97免费视频在线观看| 亚洲在钱| 天堂涩涩| 久久少妇人妻| 男人的天堂欧美| 99久热| 天天看,天天做| 欧美日韩国产高清在线一二三区 | 国产在线激情视频| 乱抡国产91| 黑人在线91| 国产超碰97| 色偷综合| 午夜综合在线| 亚洲熟女一区| 性色高清..……| 综合视频91| 91美女在线视频| 九久久九精品视频| 欧美综合色站| 欧美综合第一| 亚洲色图 欧美热图 清纯唯美 另类自拍| 91九色网| 熟妇熟女视频一区二区三区| 久久人妻视频网| 亚洲欧美大| 激情网五月天| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 亚洲aw毛茸茸在线| 极品粉嫩一区二区| 午夜欧美J进J出白浆流出久久久| 久久久久久久久久久97| 性欧美天天| 超碰99热中文字幕| 美女AV一区二区| 亚洲激情色片 | 国产最新小视频在线播放下载| 亚洲欧美一区二区网址| 成人无码在线超碰网| 两女互慰AV高潮喷水在线观看| 蜜乳AV免费观看| 韩国三级一线观看久| 亚洲国产精品成人综合| 91在线视频观看国产| 欧美亚洲另类在线蜜桃| www.91色| 小草三级久久观看| 性色国产东北露脸精品视频| 综合九九| 白嫩少妇| 国产精品色片一区二区| 亚洲图片欧美91N| 一区二区 电影 亚洲| 啊嗯嗯啊好大好爽| 屁股久久久久久| 91丨九色丨国产丨人妻在线 | 九九自拍伦理| 风间由美日韩欧美久久| 欧美亚洲国产91在线| 色狠狠 - 百度| 色婷婷丁香五月| 观看视频图片一区二区三区| 风骚少妇视频中文字幕| 百度百度日本操逼| 韩国一级婬片A片AAAAA| 精品免费1| 裸体1区| 亚洲欧美骚| 久久中文字幕一区不卡| 99在线精品观看99| 精品无码久久久久| 国产久久久久久| 东北丰满熟女国产一区| 久久人妻办公室视频| 人妻无码久久一区二区三区免费| 中文字幕激情小说| h无码动漫在线观看| 婷婷色一区| 人人爽夜夜玩视频| 亚洲一区在线观看欧洲| 日韩人妻少妇中文字幕| 亚洲一区二区中文字幕| 精品人妻中文字幕4399| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 日韩久射综合| 久操视频资源站公开| 人妻天天爽夜夜爽爽| 青青草在线视频美女| 国内毛片无遮挡国产| 啊啊啊啊嗯嗯嗯用力好爽 | 亚洲天堂资源网| 中文字幕精品区先锋资源| 中文字幕视频2区| 鸥美中出| 色婷婷丁香五月天| 啊啊啊啊无码| 国产一区二区三区影片| 色香欲天天天天综合色| 精品人体无圣光凹凸| 日本丝袜美腿人妻九九| 色五月av| 白嫩嫩一区| 欧美色综合网| 久久激情五月| 啊啊啊慢点| 天天干人妇| 四虎精品一区| 国产亚洲精品自在线亚洲情侣| 欧美韩日精品资源| 国产一区二区三区视频在线看| 久久国色天香香蕉| 中文字幕丰满子伦无码专区在线视频最新| 人妻熟女午夜精品在线| 超碰97 线线 在现| 五月天丁香欧洲日韩| 91美女小视频| 久久久久久亚洲精品中文字幕人妻| 中文不卡视频| 丝袜AV一二三区| 国产精品剧情| 久久最新视频免费观看| 天天躁日日躁xxxxx| 麻豆国产成人精品| 亚洲欧美在线观看2021| 人人摸人人舔一区二区| 亚洲砖码砖专无区2023| 国产一区二区在线看| 久热超碰| 曰韩中文人妻视频| www.99热在线只有精品| 激情网色| 婷婷激情四射| 大香蕉伊人在线成人AV在线观看| 777AV电影| 久久超碰av在线| 中文字幕在线高清男人的天堂 | 在线播放成人网站| 国产福利一区二| 日韩电影天堂视频二区三区| 久久免费精品视频免一| 欧美天天搞| 欧美色997| 日韩欧美俄罗斯A片| 欧美性第1页| 亚洲。日韩。欧美| 强奸乱伦资源| 亚洲熟妇一,二,三期| 亚洲美女色图| 久久久婷婷| 人人干黄色| 91精品操美女| 蜜桃视频精品一区二区三区| 国产伦乱91| 丁香色狠狠色综合久久小说| 日本高清加勒比| www.夜夜| 91艹B视频| 中文字幕欧美丝袜07资源| 性性欧美| 又大又长又爽| 九九aV| ,成人免费啪啪视频| 美女黄色91| 最新中文字幕av| 久久婷五月| 777AV电影| 亚洲天天操| 99最新日韩偷拍视频| 亚洲另类久操网| 国产精品熟女丝袜一区二区| 日韩字幕一区| 男人天堂资源| 精品乱码在线观看| 国产精品欧美激在线| 农村妇女一级二级三级视频| 久久精品店| 26uuu国产亚洲综合| 人人操人人肉久久精品| 九九九九九九免费视频| 超碰99热中文字幕| 国产精品乱人伊人网| 人人考人人摸人人干| 超碰无码加勒比| 久久久97| 天天综合亚洲综合| 日韩色香| 男人综合网| 亚洲欧美校园| 色一区二区三区综合| 青青草啪啪网| 区一二区日韩亚洲乱码av电影| 日韩欧美视频青青| 九九亚洲| 久久精品超碰| 色综合天天爱去电影网| 欧洲视频在线| 999热这里只有精品| 欧亚 另类 久| 精品视频一区二区| 亚洲中文字幕av | 尤物一级在线免费观看| 人妻日日干| 黄色网址在线免费观看| 强奸乱伦Av网| 日韩av影片在线观看| 日美免费黄片| 高清国产av无码| 久久久97| 久久麻豆一区二区| 97操97色| 9久久美女首页| 欧美白嫩女HD| 中文字幕乱偷人妻久久艾草网| 亚洲视频二区| 久久久三区二区一区| 在线啊啊啊| 97超碰精品图片| 青草地一本线一区二区三区| 97超碰护士| 日韩黄色片子| 欧美日韩精品一区二区三区高清| 日韩探花精品在线视频| 国产精品久久久久av| 六月丁香五月婷婷| 黄页大片在线观看| 蜜臀AV成人精品蜜臀| 日韩精品人妻中文字有码在线| 蜜屁Av| 欧美,日韩,中文,另类| 大逼色网站| 操国产逼| 1禁看欧美黄片免费看| 久久久网站| 啊啊啊com| 欧美999999| 老熟女天天操| 亚洲成aⅴ人片不卡无码| 91爱看| 夜夜久久久| 国产精品高潮呻吟av久久4虎| 午夜视频好爽啊| 十八禁视频网站| 大香蕉伊人网WWWn0n| 欧美大片天天看| 男人天堂新| 一级片在线观看高清无码| 福利在线黄片| 免费看污网站| 亚洲天堂久久| 北约熟女超碰| 欧美色三级片91| Aa东京男人的天堂| 老熟女乱伦片| 婷婷色播婷婷| 久久久九九九九| 欧美亚洲情色| 五月丁香激情综合| 激情视频一二三| 天天综合网91| 大香蕉五月天婷婷| 青草影院内射高潮| 在线播放成人高清免费视频 | 中文字幕av片| 国产日韩欧美中文在线播放| 骚货人妻偷情自拍在线视频| 天天操天天干美女网址导航| 亚洲91在线播放影院| 江都AV在线| 91精品国产91熟女| 亚洲激情在线一区二区| 美日韩一二三区| 9国产超碰| 久久久精品日本一道| 91高清日| 国产树林里野战在线看| 中文字幕文字幕无码一区二区三区电影99 | 91人妻尻屄视频| 96国产污污污丝袜| 少妇高潮流水av免费| 日韩成人色图| 神马久久久久久久| 免费视频无码| 91亚洲影视| 婷婷五月成人| 欲香欲色综合天天伊人| 婷婷五月天久久久| 超碰精品97| 性爱av网站| 一二三四区操操Av| 女人爽到高潮潮喷18禁网站| 后入日本1234| 欧美99热| 啊啊啊啊啊啊在线| 天天色香欲综合网| 精品视频在线观看精品| 日韩一区二区熟女| 精品久久无码午夜福利| 91高跟美女在线播放| 1级黄色夫妻对换性交免费看| 美女在线H91| 国产精品久久久久无码Av网曝门 | 日韩日本欧美在线观看| 国产农村妇女精品1区二区| 蜜乳AV免费观看| a人欧美综合天堂麻豆| 日韩操逼性鲍| 亚洲偷91色| 欧美刺激色黄片免费看| 中文字幕激情小说| 艳美熟妇先锋一二三区| 精品国产乱码| 97久久国产亚洲精品超碰热| 亚洲色欲天天人妻无码系列专区| 久久爱97| 久久伊人网视频一区二区三区 | 老熟妇一区二区三区啪啪| 久久久久九九九| 日本男人天堂| 日韩懂色网| 国产成人bd在线观看| 欧美性爱超碰97| 精品人妻一区二区免费蜜桃| 国产欧美岛国精品一区| 9Ⅰ超碰| 精品九九九九九九九| 亚洲二区精品在线观看| 91精品国产综合久久久蜜臀酒店| n1038 一二三区| 欧亚性爱视频免费看| 天天做天天爱| 国产性爱欧美性爱在线| 狠狠穞A片一區二區三區| 久久在线观看免费视频| 好爽要喷了| 丰满人妻一区二区三区在线| 日韩亚洲中文字幕在线| 久久精品熟妇丰满人妻99| 亚洲欧美setu| 日韩有码免费视频| 干干干天天| 性一级黄色录像片网站导航| 亚av顶级裸体一区二区三区四区五区| 狠狠色婷婷777| 欧美偷拍区| 人妻久久| 久久久一区二区| 有码人妻系列| 120分钟婬片免费看| 人人贴人人摸| 亚洲图片欧美| 精品国产乱码久久久久久免费| 欧色综合| 亚洲色鬼| 欧美丰满熟妇XXXX性ppX人交| 成人无遮挡毛片免费看| 五十路三区在线| 亚洲熟妇综合久久久久久| 国产精品乱人伊人网| 免费啪啪啪网站18岁| 福利视频网站| 混色激情av| 国产www色在线观看| 激情综合网亚洲| 综合色久欲| 吉川爱美亚洲二区在线 | 日本精品不卡一二三区| 操操逼视频| 亚洲欧美电影| 东京热毛片177b2viP| 成人情色综合网| 色拍偷亚洲| 精品一区二区麻豆| 色眯眯射| 欧美亚洲第1页| 熟女丰满人妻一区| 96精品在线| 日本天天操| 久久人妻视频| 五月丁香影视| 五月婷婷综合在线| 午夜一区| 91人妻PORNY九色大屁股| 色噜噜人妻丝袜a∨先锋影| 欧美另类综合久久| 欧美日韩在线国产在线| 一线黄色免费性爱片| 日韩亚洲精品一区二区| 久久69精品久久久久久久| 日韩在线地址一| 久久久久亚洲三级电影| 午夜激情成人在线观看| 女人被男人桶爽视频网站| 秋霞成人一级在线观看| 精品无码久久久久久国产浪潮| 高清在线不卡一区二区 视频| 一级婬片120分钟试看| 日韩中文字幕国产| 欧美成人A天堂片在线观看| 无码人妻精品一区二区中文| 女人被男人桶爽视频网站| 国产精品久久99日日| 免费看A片毛毛片在线播| 婷婷视频在线免费观看| 第一高清av中文字幕| 九九亚洲| 亚洲欧美另类少妇精品| 歐美性天天| 少好三P| 国产精品97视频| 日韩性爱长视频免费| 久艾草在线精品视频在线观看| 午夜操逼不卡| a在线视频免费观看| 亚洲色鬼| 九九九影院| 超碰导航97| 亚洲国产另类在线中文| 26uuu性物| 久久9视频| 欧美日韩222| 99国产精品自在自在| 丰满人妻一区二区三区四区| 91P0RNY大屁股人妻| 强奸乱伦Av网| 久久久工口| 精品妇操一区二区三区| 一本色道综合久久欧美日韩精品| 日韩字幕一区| 超碰人人在线| 国产天美传媒精品| 91熟女在线| 可以免费观看的日韩av毛片| 国产精品麻豆成人AV艾秋| 四虎884a| 97久久国产| 啪啪啪精品视频| 操九九九九九九| 激情情色五月天| 日韩福利电影网| 国产麻豆一级精品视频| 蜜桃在线观看一区二区三区| 精品无人区麻豆乱码1区2区图片| 成人av在线播放| 人妻少妇色综合| 丝袜狠狠草尤物 91| 欧美激情一区| 狠狠爱综合| 亚洲91大片| a片在线播放| 九九成人| 一二三四区电影| 国产成人精品必看| 色综合美国| 婷婷人妻激情| 欧美性爱视频免费一区一A| 亚91亚洲网| 羞涩视频| 精品区9| 骚货操死你| 亚洲 欧美 手机在线观看| 麻豆AV96熟妇人妻| 国产9区| 天天色粽合合合合合合合| 亚洲精品久久一区二区三区蜜桃臀| 国产兽交视频在线播放| 色嘟嘟人妻天堂网| 色九久| 99热久| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 在线综合色| 91老熟女老女人国产老太| 亚洲一卡二卡在线免费| 午夜激情床戏激情| 少妇久久久| 天天操av懂色| 日本色色色网站免费看不卡| 人妻激情另类| 久久久精品网站| 女人的久久久| 欧美天天| 第四色色综合91| 国产精品亚洲色婷婷久久久| 密臀在线免费观看| 亚洲97成人在线观看| 厕所偷拍在线| 亚洲熟伦熟妇AV无码春色| 澳门成人网站久国产日韩| 久久久新亚洲AV| 麻豆九九九| 少妇一级婬片免费放一级a性色.| 九九夜精品九九在线| 国产精品一区av在线| 蜜桃久久久久久久久久久久| 九九久久一区二区伦理| 久久久三区二区一区| 99久久网站| 九九碰九九爱97超| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲中文字幕一区二区| 五月丁香六月激情| 中文字幕三四区| 在线观看A啊啊啊| 无码av永久免费专区网站| 久久久91福利姬| 亚洲激情综合| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 中亚av| 久久久精品91八戒| 亚洲高清少妇| 99久久婷婷国产综合| 91啪啪| 99re这里| 五月丁香六月激情综合| 亚洲av综合伊人久久| 综合激情一一91| 91久久久久免| 嗯啊视频免费在线观看| 超碰4A| 国产日韩精品一区二区三区| αⅴ天堂| 久久精品店| 日日噜噜夜夜久久亚洲一区二区| 制服乱伦| 欧美A片中文字幕| 99热欧美| 国产午夜视频| 婷婷六月色| 亚洲国产精品有声| 国产精品欧美在线观看 | 高跟丝袜AV专区国产| 久久αⅴ| 呦女网站| 9热9热综合网| 99无码视频| 国产精品一区av在线| 60秒不遮不挡| 亚州大图综合色图| 澳门成人网站久国产日韩| 日本一本道A级黄色毛片试看60分钟| 少妇久久久久久久久| 99re在线视频| 天天综合欧美综合| 狠狠操夜夜操蜜桃视频三区| 波多野结衣先锋影音| 大JI巴好深好爽又大又粗视频| 国产欧洲精品亚洲午夜拍精品| 欧洲综合视频| 激情综合久久| AV污污污污| 亚洲AV无码乱码| 国产精品视频在线观看| 国内一区二区三区| 亚洲欧洲色情高清| 天天欧美色| 色播丁香| 熟女六十路| 精品亚洲黄色片 国产精品导航一区二区| 亚洲天天综合| 久草这里只有精品 | 亚洲精品第一| 这里只有精品视频在线观看麻豆| 天天日天天干天天操| 日韩91网| 一本大道青青| 日本亚欧爱爱| 俞拍自拍| 97频视在线| 日本人妻天堂网站在线播放| 蜜臀精品1区2区| 久久久久久久一级黄色打同平台| 丁香五月电影| 久久亚洲婷婷| 色墦五月丁香| www.婷婷| 欧美色图天堂在线| 青青草日韩无码| 九九99精品视频在线观看| 亚洲成A∨人影院在线欢看| 免费在线黄片视频| 操逼啊啊啊91| 一级A片女人高潮叫床| 中文字幕精品日韩中文字幕| 欧美性爱第一区| 欧美另类精品xxxx| 国产日韩欧美亚洲精品95| 日本免费人成视频播放120秒| 亚洲成人性爱网站在线播放| 国产日韩区| 五月婷网站| 国产尤物AV尤物在线观看不卡| 色乱二区| 自偷自拍的亚洲视频| 91久热| 亚洲欧美激情另类色图| 手机av天堂久久久久| 天天日日本| 天天看片麻豆| 欧美精品,四区。五区| 视频在线观看青青99国产| 欲综合网| 老司机福利青青草| 欧洲综合无码| hd成人一区二区在线| a在线观看| 国产一区二区三区中文字幕| 日韩AV一区二区三区三州三州| 精品九九九九九九九| 九九九九97| 94色色电影网| 老熟女乱伦一区| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 婷婷超| 天天操天天射天天日| 999岛国大片| 偷拍 亚洲| 精品二999| 久久内射| 成人无遮挡毛片免费看| 日本性爱少妇| 97干日韩| 久久色AV线| 中文字幕在线观| 麻花豆传媒剧国产MV出差| 日本免费亚洲欧美| 老熟女区| av影院十区| 影音先锋每日最新资源在线观看| 日韩一区二区三区四区五区| 大香交伊人网| 国产久久日| 97国产超碰| 浪人综合网| 禁止观看美女黄| 大香蕉92| 免费国产电影一区二区| 欧美性生活综合| 欧美中字二区| 美女网站91| 97欧美性爱| 熟妇人妻一区二区| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 殴美大黄片| 熟女中出视频| 超碰99re| 国产伦乱91| 韩国女主播青草在线| 人人妻人人爽| 久久久麻豆精品| 精品国产72| 三上悠亚在线毛片91| av资源在线播放天堂| 亚州色国| 一区二区三区美女超清| 99色色网| 91久热| 1024人妻熟女一区二区三区| 成人日韩中文字幕| 99999精品| 97香蕉碰碰人妻国产欧美| 97欧美日韩中文| 亚洲无码国产探花在线观看| 女优免费一区二区永久| 久久久性少妇| 国产男人又猛又粗又爽| 亚洲自拍一区夜夜操| 三男一女不戴套的A片| 欧美操逼一二三区| 九九九偷拍| 日韩激情啪啪| 亚洲一二三四区在线免费看视频| 青草草免费网站av| 日夜久久久九九九久| AVE乱伦| 国产精品久久久视频| 丝袜亚洲综合| 欧美亚洲国内自拍| 亚州综合色| 日本有码久久| 国产精品扒开腿做爽爽爽视频| 婷婷久草| 91欧美网| 欧美色棕合| 搡老女人老熟女91| 国模限制级电影| 亚洲av青草久久一区二区| 久久黄黄| 欧美人黑A片无码免视费| 91人人看| 性videos欧美熟妇hdx| 西西美女视频网| 日韩性爱1级片视频| 日韩中文字幕2020| 精品人妻av在线播放| 少妇丝袜在线观看AV| 国产精品一区二区 尿失禁| 国产精品第一页国产大屁股视频免费区i | 久久大香蕉手机高清| 日韩操啪| 媚薬在线视频麻豆| 欧美系列在线一区二区| 2020中文字幕在线| 婷婷五月色| 懂色aV一区二区天美传媒| 欧美色图私拍91| 亚洲国产尤物yw在线观看| 蜜臀av网址| 99这里有精品| 在线视频 亚洲精品| 美女AV一区二区| 日韩欧美国产高清视频| 欧色网址| 国产怡红院| 色网在线视频观看免费| KK色在线影院| 91xingse| 思思热久久成人| 国产白丝网站| 亚洲 se图 欧美电影| 91快色色色色色| 免费男人的天堂| 91久久久久久久久久久| 免费1级a做爰片观看| 欧美亚洲韩国视频十五区| 亚洲91极品| 欧美一级特黄淫片在线观看| 中文字幕第二页| 熟女在线视频| 亚洲精品第一| 搡老女人老91妇女老熟女| 91成人社区| 95人妻爽爽人人做人人澡 | 青青草啪啪网| 婷婷色综合| 2020中文在线一区二区三区| 婷婷丁香人妻 | 蜜屁av| 天天舔天天日天天射| 久久一二三四五六七八九区区区| 在线岛国新天堂8| 国产嫩草精品A88AV| 佐山爱中文字幕| 99热99色| 精品国产91av一区二区三区| 日本二三四区| 亚洲色情在线影视| 超碰亚洲欧美日韩无| 人人爱人人操人人性| 另类图片欧美激情综合| 殴美色网| 久久 久久国内精品亚洲| 亚洲aw毛茸茸在线 | 久操免费观看| 综合色久欲| 亚洲精品国产精品乱码不卡| 午夜天堂精品久久久久91| 黄片免费久久久久久久| 国产亚洲色停停久久99精品91| 久久精品国产97欧美精品亚洲| 女生自91网站| ss久久| 好吊色在线观看| 午夜天堂啪啪| 久久久精品视频免费观看| 999精品国产高清一区二区| 夜夜嗨视频| 亚洲国产天堂| 91痴汉| 国产乱不卡| 亚洲啪啪啪啪视香蕉| 91美女在线视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 亚洲欧美综合| 天天网综合| 91欧美色| 欧美性爱一区二区三区| 国产97在线播放| 久久久久久九九九九九九| 亚洲性少妇| 夜夜操中文字幕| 91在线丝袜视频| 天天天乱色综合全| 亚洲丝袜天堂| 青青色综合| 熟妇一区二区三区| 动漫片子网站3黄| 人妻出轨一区二区三区| 德国一二三不卡| 韩日男人的天堂| 亚洲色图a| 91在线丝袜视频| 天堂射| 久久人妻无码毛片A片麻豆| 大香蕉色欲AV| 天天搞欧美| 国内毛片四区| 欧美性暴力猛交| 久久老女人| 超碰精品日韩欧美国产| 日本黄色精品专区网站| 亚瑟国产精品久久无码| 又大又长又粗又爽又黄| 国产网站在线播放| 国产自偷自拍一区| 骚逼高潮久久精品| 久久久久密| 四虎国产成人精品免费一女五男| 久久久久ab|