99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Java智能家居遠程控制:協議兼容與長連接穩(wěn)定性的工程實踐

Java智能家居遠程控制:協議兼容與長連接穩(wěn)定性的工程實踐 簡介本資源是一套基于Java語言開發(fā)的智能家居遠程控制系統(tǒng)完整源碼面向Java初學者、物聯網方向課程設計學生及嵌入式/智能硬件愛好者解決家居設備跨網絡遠程控制與集中管理的實際問題。壓縮包共247個文件總大小2.68MB涵蓋62個Java核心邏輯文件如HavcActivity、CurtainActivity等設備控制模塊、67個XML布局與配置文件、106個圖片資源PNG/JPG用于界面呈現以及Gradle構建腳本、屬性配置、Git版本管理等工程支撐文件結構清晰、模塊職責分明便于理解MVC架構在IoT應用中的落地實踐。目前已有332人學習下載適合通過真實項目掌握Java GUI開發(fā)、Android基礎通信、配置驅動設計及Gradle工程化構建流程。源碼具備良好擴展性支持快速接入燈光、空調、窗簾等常見家居設備控制邏輯附帶可直接運行的JAR與gradlew腳本降低環(huán)境搭建門檻。1. 為什么用 Java 做智能家居遠程控制不是“過時選擇”而是穩(wěn)扎穩(wěn)打的工程決策很多人看到“Java 做智能家居”第一反應是這不早該被 Python 或 Node.js 取代了嗎但真實產線反饋恰恰相反——某高校智能硬件實驗室連續(xù)三年落地的 7 個家居中控項目6 個選 Java某國產中高端智能面板廠商的固件升級后臺、設備管理平臺、跨網關協議橋接模塊核心服務層清一色 JavaSpring Boot Netty。這不是守舊而是因為智能家居遠程控制的真實瓶頸從來不在語言性能而在協議兼容性、長連接穩(wěn)定性、企業(yè)級運維能力與多端協同的工程確定性。Java 的強類型約束讓設備指令字段不會因拼寫錯誤靜默失效JVM 的 GC 可預測性保障了 24/7 運行的網關服務不因內存抖動掉線Spring 生態(tài)對 MQTT、CoAP、HTTP/2、WebSocket 的成熟封裝比手擼異步回調更抗壓。本篇不講“Java 多好”只聚焦一個可交付目標用標準 JDK Spring Boot 內置嵌入式 Netty從零搭出能真實控制燈、空調、窗簾三類設備的遠程系統(tǒng)支持手機 App 發(fā)指令、Web 管理臺看狀態(tài)、本地網關斷網時自動降級為局域網直連——所有代碼無第三方私有 SDK全部開源組件可查證部署包小于 85MB實測在樹莓派 4B 上 CPU 占用率穩(wěn)定低于 32%。適合正在做畢業(yè)設計、中小廠商快速驗證原型、或想補全 IoT 后端工程鏈路的開發(fā)者。2. 架構選型為什么放棄微服務、不用云原生而用“單體分層網關”模式2.1 智能家居遠程控制的三個不可妥協約束做之前必須明確這不是寫個 Demo而是要跑在真實家庭環(huán)境里。我們反復踩坑后確認三條鐵律指令必須原子性送達發(fā)“開燈”不能出現“燈閃一下又滅”的中間態(tài)MQTT QoS1 不夠需服務端落庫設備端 ACK 雙保險網絡切換必須無感當手機從 WiFi 切到 4GApp 不應重連 3 秒才恢復控制需 WebSocket 心跳?;? 自動重連策略 本地緩存未確認指令設備接入不能綁定廠商同一套后端要同時接入涂鴉模組HTTP、樂鑫 ESP32MQTT、自研 STM32自定義二進制 TCP 協議協議解析層必須解耦。提示很多項目失敗不是技術不行而是過早引入 Spring Cloud 或 Kafka——家庭場景并發(fā)峰值通常 200 QPSKafka 的吞吐優(yōu)勢毫無意義反而增加運維復雜度和首次部署時間。2.2 “單體分層網關”架構圖與各層職責┌─────────────────────────────────────────────────────────────┐ │ 手機 App / Web 管理臺 │ ← HTTP/HTTPS WebSocket ├─────────────────────────────────────────────────────────────┤ │ Spring Boot Web 層Controller │ ← 統(tǒng)一路由、JWT 鑒權、指令下發(fā)入口 ├─────────────────────────────────────────────────────────────┤ │ 指令路由中心Routing Service │ ← 根據 device_id 查設備類型 → 分發(fā)至對應協議適配器 ├─────────────────────────────────────────────────────────────┤ │ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ │ MQTT 適配器 │ │ HTTP 適配器 │ │ TCP 二進制適配器 │ ← 各協議獨立線程池失敗隔離 │ │ (Eclipse Paho) │ │ (RestTemplate) │ │ (Netty Channel) │ │ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │ │ │ │ ├─────────────────────────────────────────────────────────────┤ │ 設備狀態(tài)與指令持久化H2 嵌入式數據庫 │ ← 記錄每條指令的 status: pending/sent/ack/timeout ├─────────────────────────────────────────────────────────────┤ │ 本地局域網發(fā)現與直連模塊ZeroConf UDP │ ← 當遠程通道斷開自動啟用 mDNS 發(fā)現設備并直連 └─────────────────────────────────────────────────────────────┘這個架構的關鍵在于Web 層只做“轉手”不碰協議細節(jié)適配器層只管“發(fā)和收”不處理業(yè)務邏輯狀態(tài)庫是唯一真相源所有重試、超時、降級都基于它驅動。沒有服務發(fā)現、沒有配置中心、沒有消息總線——所有依賴都在pom.xml里明明白白寫著新人拉下代碼mvn clean package后java -jar target/*.jar就能跑通全流程。2.3 為什么嵌入式 Netty 比 Tomcat 更適配 TCP 設備直連當設備是自研 STM32 模組通信協議是 16 字節(jié)二進制幀含校驗、序列號、指令碼、負載長度HTTP 或 MQTT 都是累贅。此時必須用 NettyTomcat 是 HTTP 服務器TCP 長連接需額外寫 Servlet 容器擴展侵入性強Netty 的ChannelPipeline可插拔編解碼器一行代碼就能注入自定義Stm32FrameDecoder內存零拷貝ByteBuf直接復用堆外內存避免 JVM 堆內復制樹莓派上實測 100 臺設備長連接內存占用比 Tomcat 低 47%心跳可控IdleStateHandler可分別設置讀空閑、寫空閑、讀寫空閑超時比 HTTP Keep-Alive 更精準。下面這段代碼就是 TCP 適配器的核心——它不關心業(yè)務只確保幀完整、校驗正確、超時重發(fā)// TcpDeviceAdapter.java public class TcpDeviceAdapter extends ChannelInboundHandlerAdapter { private final DeviceCommandService commandService; // 注入指令服務解耦業(yè)務 Override public void channelActive(ChannelHandlerContext ctx) throws Exception { // 設備上線注冊到本地設備表用于降級直連 Device device parseDeviceFromRemoteAddress(ctx.channel().remoteAddress()); device.setStatus(DeviceStatus.ONLINE); deviceRepository.save(device); super.channelActive(ctx); } Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof ByteBuf) { ByteBuf buffer (ByteBuf) msg; try { // 1. 解析二進制幀含 CRC16 校驗 Stm32Frame frame Stm32FrameDecoder.decode(buffer); if (frame null) return; // 幀不完整等待下次 read // 2. 校驗通過更新設備最后心跳時間 deviceRepository.updateLastHeartbeat(frame.getDeviceId()); // 3. 將原始幀轉為統(tǒng)一 Command 對象交由業(yè)務層處理 Command command CommandConverter.fromStm32Frame(frame); commandService.handleDeviceReport(command); // 上報傳感器數據等 } finally { buffer.release(); // 關鍵手動釋放堆外內存否則內存泄漏 } } super.channelRead(ctx, msg); } Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { // 協議層異常不拋給上層記錄日志后關閉連接 log.warn(TCP device {} disconnected: {}, ctx.channel().remoteAddress(), cause.getMessage()); ctx.close(); } }參數說明buffer.release()是血淚經驗——Netty 默認使用堆外內存不手動release()會導致Direct buffer memory OOM樹莓派上 2 小時必崩Stm32FrameDecoder.decode()是自定義解碼器內部用markReaderIndex()resetReaderIndex()實現粘包拆包不依賴LengthFieldBasedFrameDecoder因其要求固定長度頭而我們的幀頭含動態(tài)負載長度commandService.handleDeviceReport()是純業(yè)務方法與協議無關單元測試可直接 mock。3. 協議適配器實現MQTT/HTTP/TCP 三端統(tǒng)一指令模型3.1 定義跨協議的通用指令 Command 類核心抽象所有協議最終都要映射到同一個Command對象這是解耦的關鍵。它不包含任何協議字段如 MQTT 的 topic、HTTP 的 header只描述“要做什么”// Command.java public class Command { private String deviceId; // 設備唯一標識如 light_bedroom_001 private String action; // 動作ON/OFF/SET_TEMPERATURE/OPEN/CLOSE private MapString, Object params; // 參數temperature26, brightness80, modecool private long timestamp; // 指令生成時間戳用于去重和超時判斷 private String requestId; // 全局唯一請求 ID用于追蹤重試鏈路 // getter/setter 省略 }注意params用MapString, Object而非JSONObject避免 Jackson 依賴action用字符串而非 enum方便后期熱加載新動作如新增“SCENE_MODE”無需改代碼。3.2 MQTT 適配器用 Paho Client 主動推送而非訂閱主題常見誤區(qū)讓后端訂閱device//control主題等設備上報。但智能家居要求“人發(fā)指令→設備執(zhí)行”必須是服務端主動推。我們采用Paho AsyncClient QoS1 持久會話// MqttDeviceAdapter.java Component public class MqttDeviceAdapter { private final MqttAsyncClient client; private final DeviceCommandService commandService; PostConstruct public void init() throws MqttException { // 1. 連接阿里云 IoT 平臺或其他公有云 MQTT 服務 String brokerUrl tcp://mqtt-cn-xxx.iot.aliyuncs.com:1883; client new MqttAsyncClient(brokerUrl, backend_ UUID.randomUUID().toString()); // 2. 設置連接選項開啟持久會話、設置遺囑消息設備離線時通知 MqttConnectOptions options new MqttConnectOptions(); options.setCleanSession(false); // 關鍵斷線重連后接收離線消息 options.setWill(device/status, offline.getBytes(), 1, true); options.setUserName(xxxxxx); // 云平臺鑒權 options.setPassword(xxx.getBytes()); client.connect(options).waitForCompletion(); } public void sendCommand(Command command) throws MqttException { // 3. 構造主題按設備類型分組避免單主題爆炸 String topic String.format(device/%s/control, command.getDeviceId()); // 4. 序列化指令JSONUTF-8 編碼 String payload JsonUtil.toJson(command); // 自研輕量 JSON 工具類無反射 MqttMessage message new MqttMessage(payload.getBytes(StandardCharsets.UTF_8)); message.setQos(1); // 至少一次送達 message.setRetained(false); // 5. 發(fā)送并監(jiān)聽回調非阻塞 IMqttDeliveryToken token client.publish(topic, message); token.waitForCompletion(5000); // 超時 5 秒失敗走重試流程 } }關鍵參數解釋setCleanSession(false)必須關閉 clean session否則斷線后未送達的 QoS1 消息會丟失setWill()設備異常斷開時云平臺自動發(fā)布遺囑消息后端監(jiān)聽device/status主題即可更新設備狀態(tài)token.waitForCompletion(5000)這里不是阻塞主線程MqttAsyncClient 是異步的而是等待本次 publish 的 token 完成超時則認為網絡層失敗觸發(fā)commandService.retryCommand()。3.3 HTTP 適配器適配涂鴉/華為 HiLink 等云平臺設備這類設備不支持長連接只能輪詢或 Webhook。我們采用帶簽名的 POST 請求 重試退避// HttpDeviceAdapter.java public class HttpDeviceAdapter { private final RestTemplate restTemplate; private final DeviceKeyRepository keyRepo; // 存儲設備密鑰用于簽名 public void sendCommand(Command command) { Device device deviceRepository.findById(command.getDeviceId()); String url device.getControlUrl(); // 如 https://a1b2c3.tuya.cn/v1.0/iot-03/devices/xxx/commands // 1. 構造請求體涂鴉要求{ commands: [ { code: switch_led, value: true } ] } MapString, Object requestBody new HashMap(); ListMapString, Object commands new ArrayList(); MapString, Object cmd new HashMap(); cmd.put(code, convertActionToTuyaCode(command.getAction())); // ON→switch_led cmd.put(value, convertParamsToTuyaValue(command.getParams())); commands.add(cmd); requestBody.put(commands, commands); // 2. 添加簽名頭涂鴉要求signMD5(bodysecrettime) String timestamp String.valueOf(System.currentTimeMillis()); String sign DigestUtils.md5Hex( JsonUtil.toJson(requestBody) device.getSecret() timestamp ); HttpHeaders headers new HttpHeaders(); headers.set(client_id, device.getClientId()); headers.set(sign, sign); headers.set(t, timestamp); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntityMapString, Object entity new HttpEntity(requestBody, headers); // 3. 執(zhí)行請求帶指數退避重試 try { ResponseEntityString response restTemplate.postForEntity(url, entity, String.class); if (response.getStatusCode().is2xxSuccessful()) { log.info(HTTP command sent to {} success, command.getDeviceId()); } } catch (ResourceAccessException e) { // 網絡異常立即重試 1 次間隔 1 秒 Thread.sleep(1000); restTemplate.postForEntity(url, entity, String.class); } } }避坑點涂鴉 API 要求t時間戳精確到毫秒且與服務端時間差不能超過 1 分鐘樹莓派需sudo timedatectl set-ntp on啟用 NTPRestTemplate默認不支持連接池復用需配置HttpComponentsClientHttpRequestFactory并設置maxTotal200否則高并發(fā)下創(chuàng)建連接耗盡線程convertActionToTuyaCode()必須維護一份映射表JSON 文件不能硬編碼否則新增設備類型要改代碼。3.4 TCP 二進制適配器Netty 實現 STM32 設備直連前文已給出ChannelInboundHandlerAdapter此處補全Stm32FrameDecoder和發(fā)送邏輯// Stm32FrameDecoder.java public class Stm32FrameDecoder extends LengthFieldBasedFrameDecoder { public Stm32FrameDecoder() { // 幀結構[SOH:1B][LEN:2B][CMD:1B][SEQ:2B][PAYLOAD:NB][CRC:2B][ETX:1B] // LEN 字段在偏移 1 處長度 2 字節(jié)實際負載長度 LEN - 8頭尾開銷 super(1024, 1, 2, 0, 0); } Override protected Object decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception { ByteBuf frame (ByteBuf) super.decode(ctx, in); if (frame null) return null; try { // 1. 校驗 SOH (0x01) 和 ETX (0x04) if (frame.getByte(0) ! 0x01 || frame.getByte(frame.readableBytes() - 1) ! 0x04) { return null; } // 2. 提取 CRC16倒數第 3-2 字節(jié) int crcPos frame.readableBytes() - 3; short crcReceived frame.getShort(crcPos); short crcCalculated Crc16.calc(frame, 0, crcPos); // 自定義 CRC 計算 if (crcReceived ! crcCalculated) { log.warn(CRC check failed for device {}, ctx.channel().remoteAddress()); return null; } // 3. 解析幀內容 Stm32Frame parsed new Stm32Frame(); parsed.setDeviceId(extractDeviceId(frame)); // 從 payload 中提取 MAC 地址 parsed.setAction(frame.getByte(3)); // CMD 字節(jié) parsed.setSeq(frame.getShort(4)); // SEQ 字段 parsed.setPayload(frame.slice(6, frame.readableBytes() - 9)); // 剝離頭尾 return parsed; } finally { frame.release(); } } }發(fā)送邏輯反向后端發(fā)指令給設備// TcpDeviceAdapter.java 續(xù) public void sendCommandToDevice(String deviceId, Command command) { Channel channel deviceChannelMap.get(deviceId); // 維護 deviceId → Channel 映射 if (channel null || !channel.isActive()) { log.warn(Device {} not connected, skip command, deviceId); return; } // 構造二進制幀 ByteBuf buffer Unpooled.buffer(); buffer.writeByte(0x01); // SOH buffer.writeShort(0); // LEN 占位后續(xù)填充 buffer.writeByte(convertActionToStm32Cmd(command.getAction())); // CMD buffer.writeShort(seqGenerator.incrementAndGet()); // SEQ buffer.writeBytes(serializeParams(command.getParams())); // PAYLOAD buffer.writeShort(0); // CRC 占位 buffer.writeByte(0x04); // ETX // 填充 LEN 和 CRC int len buffer.readableBytes(); buffer.setShort(1, (short) len); short crc Crc16.calc(buffer, 0, len - 3); buffer.setShort(len - 3, crc); // 異步發(fā)送 channel.writeAndFlush(buffer); }關鍵細節(jié)deviceChannelMap是ConcurrentHashMapString, Channel設備上線時存入下線時 remove保證直連通道可尋址Unpooled.buffer()創(chuàng)建堆外緩沖區(qū)避免 GCwriteAndFlush()是 Netty 最佳實踐比write()flush()更高效seqGenerator是AtomicInteger確保同一設備指令有序設備端可丟棄舊 SEQ 指令防重放。4. 避坑遠程控制翻車的 4 個高頻現場與血淚解法4.1 現象手機 App 控制燈第一次成功第二次點擊無響應Log 顯示 “Connection refused”原因前端 WebSocket 連接未正確關閉后端OnClose方法未清理session導致session對象殘留。當用戶再次打開 App新連接嘗試復用舊sessionId而舊session的channel已失效Netty 拋出Connection refused。解決后端WebSocketHandler中OnClose必須調用session.removeAttribute(deviceId)并從全局MapString, Session中移除前端 App 加入雙保險每次 connect 前先ws.close()并設置reconnectDelay: 1000不要用 0在OnMessage處理指令時先校驗session.isOpen()再執(zhí)行下發(fā)邏輯。4.2 現象樹莓派部署后運行 12 小時后 CPU 占用飆升至 98%jstack顯示大量Finalizer線程阻塞原因Netty 的ByteBuf未釋放JVM 觸發(fā) Finalizer 線程回收堆外內存但 Finalizer 隊列積壓導致 CPU 暴漲。根本原因是ChannelInboundHandlerAdapter.channelRead()中buffer.release()被異常提前跳出未執(zhí)行。解決所有channelRead()方法必須用try-finally包裹buffer.release()如下Override public void channelRead(ChannelHandlerContext ctx, Object msg) { if (msg instanceof ByteBuf) { ByteBuf buffer (ByteBuf) msg; try { // 解析邏輯 } finally { if (buffer.refCnt() 0) buffer.release(); // 防御性檢查 } } }啟動參數加入-Dio.netty.leakDetectionLevelparanoid開發(fā)期強制暴露內存泄漏點。4.3 現象設備在 WiFi 下控制正常切到 4G 后指令延遲高達 8 秒甚至超時原因WebSocket 心跳默認 30 秒而運營商 NAT 超時通常為 60~120 秒。當手機切網舊連接未及時斷開新連接建立后服務端仍向舊channel發(fā)指令直到 NAT 超時才感知斷連。解決服務端WebSocketHandler中userEventTriggered()監(jiān)聽IdleStateEventOverride public void userEventTriggered(ChannelHandlerContext ctx, Object evt) { if (evt instanceof IdleStateEvent) { IdleStateEvent event (IdleStateEvent) evt; if (event.state() IdleState.READER_IDLE) { log.warn(WebSocket idle, close connection: {}, ctx.channel().remoteAddress()); ctx.close(); // 主動關閉空閑連接 } } }前端 App 連接時WebSocket構造函數傳入protocols: [heartbeat]并在onopen后每 15 秒發(fā)ping消息后端收到ping立即回pong并更新lastPingTimeREADER_IDLE超時設為 20 秒。4.4 現象多個用戶同時控制同一盞燈出現“你關燈他開燈燈瘋狂閃爍”原因指令未做冪等性控制。A 用戶發(fā)ONB 用戶發(fā)OFF兩條指令幾乎同時到達服務端順序執(zhí)行設備狀態(tài)在 ON/OFF 間震蕩。解決指令入庫時UNIQUE KEY (device_id, action, params_hash)params_hash MD5(json(params))CommandService.sendCommand()先查庫是否存在相同device_idactionparams_hash且statuspending/sent的指令存在則直接返回duplicate前端按鈕點擊后置灰 2 秒防止手抖連點。5. 降級與驗證當遠程通道全斷如何讓系統(tǒng)“活著”并證明它真能用5.1 局域網直連降級用 ZeroConfmDNS自動發(fā)現設備當 MQTT/HTTP 連接全部失敗healthCheck()返回 false系統(tǒng)自動啟用局域網直連。核心是ServiceDiscovery// LocalNetworkDiscovery.java Component public class LocalNetworkDiscovery { private final JmDNS jmdns; private final MapString, InetAddress deviceCache new ConcurrentHashMap(); PostConstruct public void start() throws IOException { // 1. 創(chuàng)建 JmDNS 實例綁定本機所有網卡 jmdns JmDNS.create(); // 2. 監(jiān)聽 _smartlight._tcp.local. 服務設備需廣播此服務 jmdns.addServiceListener(_smartlight._tcp.local., new ServiceListener() { Override public void serviceAdded(ServiceEvent event) { jmdns.requestServiceInfo(event.getType(), event.getName(), 1000); } Override public void serviceResolved(ServiceEvent event) { String deviceId event.getInfo().getPropertyString(id); InetAddress address event.getInfo().getHostAddress(); deviceCache.put(deviceId, address); log.info(Local device discovered: {} - {}, deviceId, address); } }); } public InetAddress getDeviceAddress(String deviceId) { return deviceCache.get(deviceId); } PreDestroy public void stop() throws IOException { jmdns.close(); } }設備端配合要求STM32 設備啟動時用ESP-IDF的mdns組件廣播mdns_init(); mdns_hostname_set(light_bedroom_001); mdns_instance_name_set(Bedroom Light); mdns_service_add(NULL, _smartlight, _tcp, 8080, NULL, 0); mdns_service_txt_item_set(_smartlight, _tcp, id, light_bedroom_001);涂鴉設備無法廣播 mDNS需在設備管理后臺手動錄入局域網 IP走HttpDeviceAdapter的localFallbackUrl字段。5.2 三步驗證法證明你的遠程控制真可靠光跑通不夠必須量化驗證。我堅持用這三步驗證項方法合格標準工具指令送達率向 100 臺設備并發(fā)發(fā)ON指令統(tǒng)計ACK回報數≥ 99.5%允許 0.5% 網絡抖動jmeter 自定義監(jiān)聽器端到端延遲手機 App 點擊“開燈”到設備 LED 亮起用高速攝像機120fps計時P95 ≤ 1.2 秒WiFi、≤ 3.5 秒4G高速相機 ffmpeg幀分析腳本斷網恢復時間拔掉樹莓派網線 30 秒再插回測首次指令成功時間≤ 800ms從插網線到healthCheck()通過systemd日志 curl -w format.txt關鍵技巧jmeter測試時Thread Group設置Ramp-up period 0瞬時并發(fā)HTTP Header Manager加Authorization: Bearer xxx高速攝像機驗證用ffmpeg提取 LED 亮起幀ffmpeg -i light_test.mp4 -vf selectgt(scene\,0.4),showinfo -f null - 21 | grep pts_time | head -1scene參數 0.4 表示畫面亮度突變閾值pts_time即時間戳斷網恢復測試healthCheck()不僅 ping 阿里云 MQTT還要telnet mqtt-cn-xxx.iot.aliyuncs.com 1883因為 DNS 可能緩存但端口不通才是真斷網。5.3 一個讓我少熬 20 個夜的調試習慣所有指令加 traceId 并透傳到設備端最初我們只在服務端打日志設備端不回傳 traceId導致“指令發(fā)了沒”永遠是個謎。現在強制Command類增加traceId: String字段生成規(guī)則trc- System.nanoTime() - RandomStringUtils.randomAlphanumeric(4)所有適配器發(fā)送時將traceId注入協議MQTT 的userProperty、HTTP 的X-Trace-IDheader、TCP 幀的payload開頭 16 字節(jié)設備固件收到指令后執(zhí)行完畢立即回傳{traceId:trc-xxx,status:success,timestamp:123456789}服務端CommandService.handleDeviceReport()收到后更新command_status表的traceId字段并觸發(fā)notifyApp(traceId, success)。這樣當用戶說“我點了開燈沒反應”我只需查SELECT * FROM command_status WHERE traceId trc-xxx立刻知道如果記錄不存在 → 指令根本沒發(fā)出前端或網關問題如果status sent但無后續(xù) → 設備沒收到網絡或設備死機如果status ack→ 設備執(zhí)行了問題在燈硬件。這個習慣讓我把平均故障定位時間從 47 分鐘壓縮到 3.2 分鐘。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲AV人人操| 狠狠一日| 99热这里只有精品66| 国产亚洲99久久精品熟女| 99视频在线精品| 五月丁香六月婷婷,婷| 九八Av| 99热这里只有精品免费| 五月丁香基地| 久色中文| 99er免费在线观看| 激情桃色网 | 婷婷丁香五月麻豆| 日韩无码色色| 丁香六月情| 婷婷金品综合视频| 超碰色综合| 欧美熟女乱又伦| 久久香蕉影院| 国产精品电影| 久久久99视频| 51成人| 久久久久9久无码视频| 丁香五月手机在线| 在线天堂9| 丁香六月天婷婷开心综合| 97干欧美| 九九99免费视频| 人碰91| 色色网站毛片| 在线看的免费网站| 思思久久99热只有频精品66| 91超级碰碰| 色噜噜五月天| 五月婷婷偷拍| 久久xxxx| 欧美精品XXXXBBBB| AA片在线观看视频在线播放 | 26uuu淫色| 丁香婷婷综合激情五月色| aV直接看| 极品少妇婷婷五月| 91色在线| 秋霞免费三级片| 婷婷99热| 亚洲AV日韩无码| 久久9999| 色婷网| 色99免费视频中文| 成人五月天丁香婷| 99re熱| 五月婷婷激情综合在线| 五月婷婷这里都是精品| 牛牛碰免费| 森林影视大全,最好看的2019年视频| 久久66er久久| 色噜噜婷婷| 九月婷婷丁香| 天天插天天日| 国产激情综合五月久久| 久久加勤综合| 激情四射婷婷色色色| 色色网91| 五月婷婷在线短视频| 综合久久综合| 五月天狠狠干| 天天操中文字幕| 九九99免费理论| 色丁香婷婷| 99色热| 天天干天天色综合| 天堂在线伊久| 婷婷五月成人| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 色情五月综合婷婷| 久久久精品婷婷五月天| 99色综合网| 婷婷色网| 激情内射p| 综合网亚洲| 婷婷丁香熟妇综合网| 99这里都是精品6| 天天日天天色| 久久婷婷五月天激情四射| 五月婷婷久久大香蕉| 99久热这里只有精品视频删减版| 这里只有精品9| 青青草轻轻操| 婷婷五月丁香国产| 色噜噜伊人| 激情婷婷五月天在线观看| 五月婷婷干| 婷婷六月丁香欧美视频在线| 夜夜撸日日操| 绿色小导航AV| 五月丁婷婷| 亚艹艹| 自拍偷窥99热| 综合九九日本| 五月婷婷婷婷婷婷艺术| 久9视频| 五月丁香六月停停停| 中文AV在线观看| 五月婷婷五月丁香综合| 色五月天堂| 国产在线网| 五月情涩综合婷婷| 日韩国产AV播放| 啪精品| 97人人干| 亚洲综合色色| 538任你爽视频不一样的| 国产中文亚洲欧美日韩性交| 91碰超| 色综色网| 天天爽天天爽夜夜爽| 玖玖午夜视频| 五月天激情图片网| 天天天操天天天日| 五月精品99综合| 97人人操在线| 91玖玖| 伊人激情网| 综合激情开心五月| 色五月丁香婷婷| 99爱爱网| 久久在这里99| 久久天堂| 色婷婷综合影院| 91中文狠狠综合| 永久的网站AAAA | 六月婷婷开心| 丁香激情五月天| 天天肏高清在线| 激情都市五月天| 欧美色婷婷| 综合色网站| 播五月丁香六月| 欧美精品中文字幕亚洲专区| 亚洲久久视频| 噼里啪啦完整版中文在线观看 | 激情五月天。| 99色免费视频| 综合九九中文字幕| 97人人操| 九九热99re8热免费观看 | 9 9 9色色| 九九热在这里只有精品| av操B网站| 激情婷婷五六月天| 中文字幕视频色婷婷| 日日操夜夜操狠狠操| 99热九九热| 婷婷五月电影| 五月婷婷丁香五月| 91dy.av| 丰满老熟妇BBBBB搡BBB| 色丁香久久久| 久久久久激情网| 99精彩视频| 激情婷婷九月| 狠狠艹狠狠艹| www.久久| 欧美草久久五月天91| 五月丁小婷婷激情四射| 五月婷婷开心五月| 91久久1118| 99这里只有精品|v| 色婷婷婷综合五月天| 五月综合激情婷婷六月色窝| 无码网站视频| 婷婷久久99| 五月天婷婷无码| 婷婷欧美偷拍综合| 亚洲人成网站999综合| 99av视频| 婷婷丁香色五月亚洲| 99精品在线观看| 欧美精品久久久久久视频观看| 日本不卡一区二区三区| 亚洲色五月| 黄网网站在线播放| 色色草97| 欧美成人AAA片一区国产精品| 艹| 激情碰碰碰| 久久这里只精品| 亚洲精品国产setv| 婷婷五月综合丁香久久| 天天干电影| 婷婷丁香五月天色区| 色亭亭丁香五月天| 五月婷婷开心网| 伊人色综在线| 久久丝丝热| 色级停停| 欧美这里只有精品| 色吧婷婷| 欧美成人A片AAA片在线播放| 五月香蕉综合| 97丁香婷婷| 国产成人精品一区二三区熟女在线| 天天做天天爱天天玩夜夜爽| 丁香五月亚洲激情婷婷射| 久久九九激情五月天 | 色婷婷免费观看| 天天爽—爽| 操日本色| 伊人喵咪a V| www久久久久久久97| 六月色狠狠色| 丁香婷婷六月激情文学 | 丁香色五月婷婷| 9色在线视频| 人妻第九页| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99re热精品在线视频| 精品国产AV色一区二区深夜久久 | 男人天堂 久久| 激情五月天综合| 国产毛片操B| WWW.99视频| 色五月六月婷婷| 亚洲99综合| 九月色婷婷综合亚洲| 五月花婷婷| 丁香婷婷社区| 五月天最新网| 色综合天天天天做夜夜| 色丁香五月综合网| 日日夜夜天天爽| 丁香六月啪| 91亚洲视频| 少妇高潮A片无套内谢麻豆传| AA久久| 丁香五月天激情免费在线观看AV777| se色99| 婷婷综合在线| 就是色婷婷五月亚洲色| 99在线观看视频免费| 国产激情av| 俺去婷婷 丁香| 五月丁香六月合| 激情婷婷五月久久| 在线观看五月婷婷网| 色婷婷六月天| 少妇激情基地| 激情综合综合综合| 六月五月久久丁香| 激情五月www| 天天开心AV色综合婷婷五月天| 色五月久久成人婷婷| 五月色婷婷综合色| 日韩无码人妻一区二区三区综合| 色五月天网| 激情伊人五月婷婷久久| 狠狠狠狠狠草| 婷婷五月六| 欧美丁香婷婷五月天| 99热这里只有精品23| 国产婷婷五月中文字幕高清| 99久久er| 久久五月天色| 欧美人人操| www.99久久久| 亚洲精品99| 日产精品一线二线三线芒果| 色99综合色88| AAA久久久AAA久久久AAA| 人人爽欧美婷婷久久久五月丁香| 伊人五月婷婷| 五月丁香六月婷婷综合免| 成人色色综合| xx人人xx| 开心激情站| 久久人人看| 白人荫道BBWBBB大荫道| 人人综合色| 在线看av| 亚洲精99| 午夜丁香婷婷| 精品人妻伦一二三区久久| 色婷婷激情| 狠狠色 综合色区| 五月天色欧美| 只有精品在线观看| 激情五月少妇| 色久综合| 色五月婷婷天堂| 日本熟妇精品99| 日日噜狠狠色综| 丁香五月欧美色综合| 中文字幕 中文字幕明步| 国产 亚洲 在线| 久久综合九九| 9l视频自拍九色9l视频在线观看| 情欲综合网| 丁香六月婷婷综合欧美| 五月丁香综合| 99资源在线视频| 看黄的网站18禁| 久久草婷婷丁香网站| 熟女激情五月天 | 色色射| 亚洲中文字幕av| 中文字幕无码人妻少妇免费视频 | 婷婷五月天激情五月天网站| 97 A I色色| 韩日另类| 亚洲综合字幕色色| 六九色综合婷婷五月天| 丁香五月大香蕉在线99| 婷婷激情五月天网站| 五月婷婷丁香狠狠撸久久| 9久热| 中文字幕高清av| 五月婷婷黄色| 97视频久久| 久久久久久久91| 69精品人人人人| 99免费热视频| 丁香五月婷婷免费视频| 99热欧| 综合婷婷五月天| 免费无码毛片一区二区A片| 久久国产AV| 色婷婷婷婷成人网| 亚洲精品又粗又大又爽A片 | 密乳视频| 天天干天天干天天干| 午夜丁香综合婷婷| 婷婷深爱五月| 日韩精品99久久| 天天 日综合| 99视频内射三四| 狠狠狠狠青草| 色五狠狠| 婷婷丁香五月天操逼| 天天干天天干天天干天天干天天干天天| 中文字幕丰满人妻无码专区| 综合网啪| 婷婷深爱五月天| www.99riav99| www.开心激情| 99视频啪啪| 26UUU精品一区二区Com| 老师高潮流白浆喷水的A片| 九九这里只有精品在线视频| 欧美婷婷五月丁香| 日木狠狠干| 天天噜日日噜综合无码| 婷婷天堂综合| 色屌丝中文字幕| 久久婷婷五月丁香网| 偷拍五月丁香| 97色婷婷五月天| 天堂中文国产| 天天五月丁香五月| 午夜不卡久久精品无码免费| 丁香婷婷啪啪啪| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 色色色无码| 久久99草五月婷婷| 激情六月色| 五月天婷婷亚洲| 欧洲色| 日本色久| 超碰人人草| 久久久人妻久久久| 亚洲视频在线观看| 亚洲色无码| 五月丁香六月婷婷综合| 色色丁香婷婷综合| 久久6这里只有精品| 婷婷色五月激情| 色综合性视频| 中文在线视频久9| 婷婷五月色播放| 在线看av| 99无码视频| www.狠狠色.com| 琪琪色网在线| 天堂色婷婷| 99婷婷| 在线日韩视频| 爱草人视频| 综合99久久| 成功精品影院| 色婷婷AV久久久久久久| 99热精品在线播放| 果冻传媒A片一二三区| 天天日日综合| 婷婷和五月天| 97超碰色| 五月丁香香蕉| 五月丁香婷婷激情视频| 五月婷在线观看| 五月丁香综合| 这里只有精彩视频| 欧美丁香六月在线观看视频| 九九久久精品國產| 午夜69成人做爰视频| 精品五月天| 欧美色久| 五月停视频天堂| www.久久久.com| 久er7久热| 中日韩狠狠色| av中文网| 色婷婷六月| 天天操天天草天天草天天| 日本三级中国三级99| 国产真实乱了老女人视频| 欧美va在线观看| 丁香六月av| 黄色一级影片| 日本色超碰| 91操人| 五月丁香激情综合久久| 丁香婷婷五色月| 伊人网大香| 丁香五月大香蕉在线99| 久操婷婷| 五月丁香久久网| 亚洲第一视频 久久| 色综合色综合网| 国产九月婷婷| 国产午夜伦鲁鲁| 久久大香蕉同僚| 天堂草在线观| 国产精品国产VA片国产| 亚洲综合视频天天精品| 玖玖综合网| 9久热在线精品| 99精品成人无码A片观看金桔| 性综合网| 五月六月丁香激情| 五月婷婷天| WWW.桔色成人.COM入口| 思思热闹这里只有精品| 婷婷久久综合久| www.sebowuyue| 亚洲成人在线观看网址| 色色网站毛片| 青青草大香| 99无码视频| 人妻久久久久久久| 超碰成人免费| 色99网站| 狠狠爱综合网| 色啪综合| 99操视频| 97色婷婷五月天| 色婷婷综合网站| 另类专区在线观看| 99热只有这里才是精品| 精品一二三区久久AAA片 | 可以免费观看的AV| 色婷五月天| 91婷婷| www.五月天婷婷| 久久丁香综合| 99热免费精品| 99热国产精品| 婷婷色网| 天天干天天日蜜臀av| 丁香婷婷欧美综合| 婷综合六月| 思思久久99热| 亚洲av另类在线观看| 嫩草AV久久伊人妇女超级A| 熟妇无码乱子成人精品| 成人五月丁香花| 激情综合文学| 99久久视频| 99玖玖在线视频| 久久久久久久久久久97| 九九色影院| 久久久精品视频79| 夜夜操少妇| 婷婷涩五月天综合| 中文AV网站| 丁香五月婷婷偷拍| 99自拍视频在线观看| 97综合在线| 99干日日干| 在线视频九色97| 伊人青涩网| 色欲久久久久久综合网综合网| 狼人狠狠操| 婷婷色五月综合丁香| 日日夜夜青青草| 十月丁香九月婷婷综合| 亚洲av成人在线| 欧美日韩999| www.丁香黄色五月天人与| 婷婷性爱综合| 亚洲综合视频天天精品| 色噜噜狠狠插综合| 激情开心五月天| 国产内射婷婷| 色九区| 激情久久天天| 伊人五月综合网| 26uuu日韩| 婷婷中合| 亚洲激情四射| 婷婷丁香五月天激情| 婷婷网五月天| 91精品综合久久久五月天| 丁香五月电影| 99re思思热久久| 五月天亭亭俺也| 久久91久久精品久久| 婷婷丁香宗合888| 偷拍视频五月天| 伊人激情综合网| 久久综合99综合| 亚洲成人高清在线| 婷婷五月天欧美图片在线播放电驴| 爆乳熟妇一区二区三区爆乳| 激情五月天。| 秋霞三级影视资源| 久久与婷婷| 五月婷婷啪啪啪啪| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 8区视频在线| 五月婷婷色欲| 婷婷五月激情的图片| 丁香九月婷婷色| 色婷婷99| 成人在线日韩欧美| 深情五月天| 麻豆AV一区二区三区| 丁香五月影视| 亚洲另类日本| www91色网站| 久久婷婷激情五月天一区二区| 天天插综合网| 丁香五月婷婷少妇| 久久er99| 亚洲传媒在线观看| 人人操人av| 亚洲人妻av伦理| 成人网站在线观看视频| 狠狠99| 久热AⅤ| 狠狠色噜噜狠狠狠888了| 婷婷午夜| 五月天六月天| 99亚洲精品| 久久99视频| 啪啪 综合网| 丁香五月天激情四射网| 六月婷婷中文字幕| 亚洲操B视频| 丁香婷婷婷五月| 婷婷五月天免费99| 大陆肏屄视频| av不卡网站| 99热这里只有精品50| 激情综合亚洲| 丁香激情合作五月| 欧美十二区| 四色女婷婷| 国产美女无遮挡裸体毛片A片| 99热在线观看免费中文| 综合色99| 五月天婷婷丁香视频| 国产午夜成人AV在线播放| 亚洲人人96@| 久操婷婷| 色五月开心开心五月激情五月| 无码少妇高潮喷水A片免费| 婷婷五月天直播| 国产SUV精品一区二区6| 九色色| 亚洲a片免费观看| 丁香五月婷老师| 亚洲AV另类| 中文成人在线| 99视频内射三四| 日日爽夜夜爽| 天天成人丁香美女AV| 人碰人人人玩91| 黄色AAAAA| 啪色综合| 久久99久久99久久99人受| 五月丁香视频在线观看| co超碰在线观看| 激情五月婷婷网| 熟女网站久久| 亚洲激情综合| 思思热AV| 激情综合网五月在线播放| 99性爱视频| 综合综合网| 久久久久久久8| 天天干夜晚夜操| 成人欧美Va| 久久九九精彩| 国产69久久久欧美黑人A片| 精品,99| 玖玖爱资源站| 免费观看全黄做爰的视频| 久久免费婷婷视频| 丁香色五月直播| av五月天婷婷丁香| AV中文在线| 国内精品玖玖| 欧美色婷婷| 日韩野外 无套| 久久久大香蕉| 五月婷网站| 婷婷久久亚洲| 色9999综合久久| 99综合视频一体| 五月丁香花开综合网| 91九色熟女| 99精品丁香五月| 任你日视频| 亚洲色色色色| 99久热在线精品| 色噜婷婷| 最新高清无码专区| 97久久久| 日日杆天天| mmm1717.6dbm人人爱人人操| 91碰| 色综合香蕉视频| 国产精品99久久久久久久女警| 色99色| 国产美女精品| 国产乱码久久| 久久婷婷网| 日本nghangse中文字幕| 亚洲乱码日产精品BD| 91色噜噜狠狠狠狠色综合| 激情五月五月五月婷婷| 快乐婷婷五月天| 亚欧州精品视频| 亲子乱av一区二区三区的| A久久| 欧洲毛片基地c区| 高清无码入口| 丁香五月六月婷婷殴美综合| 丁香婷婷六月激情综合| 亚洲亚洲激情| site:minyis.com| 国产激情AV| 日韩美女在线视频19| 精品99*| 丰满女老板BD高清A片| 色婷婷丁香五月| 婷婷操超碰| 色狠狠色噜噜AV天堂五区消防| WWW、日本色丁香、co m| 久久黄A片| 色玖玖综合网| 九九色综合网| 综合另类视频| 欧美熟女99| 午夜成人AV在线| 91成人电影| 久久丁香婷婷五月| 色婷婷五月影院| 激情久久婷婷| 午夜成人综合| 91九色视频| 青青草tp| 777色婷婷爱五月| 五月丁香六月综合情在线观看| 玖玖爱综合网| 91操碰| 丁香五月六月久久综合| 免費亭亭成人| 69婷婷丁香午夜| 亭亭色天香| 婷婷五月色丁香在线看| 这里只有精品视频99| 五月丁香免费看| 天天天天干| 五月丁香亭亭操逼| 久热只有精品| 欧美婷婷色| 超碰在线资源| 大香蕉人在线65| 丁香五月另类色婷婷麻豆| 九月丁香| 激情五月丁香激情综合网| 婷婷五月深爱五月| XX久久| 99免费在线| 丁香五月激情综合| 亚洲中文AV网站| 六月婷婷色色色| 玖玖视频福利| 俺去也在线www色官网| 色色色色色色色色综合网| 可以免费观看的av| 婷婷丁香熟妇综合网| 丁香五月天天久久综合小说| 四季AV综合网| 激情五月深爱五月观看| 青草热视频这里只有精品| 日韩五月丁香| 99热免费| 东京热人妻一区二区三区在线| 99精品一二三四视频| 六月婷婷俺也去| 另类五月激情| 色综合色| 亚洲正能量欧美| 久久综合五月天| 五月丁香六月情婷婷久久| 综合色播| 国产毛片精品一区二区色欲黄A片 欧美交换配乱吟粗大25P | 久久九区| 久久大大香| 日韩狠狠色| 精品一区二区三区木瓜| www.色99| 色婷婷另类| 思思热在线视频观看精品| 婷婷十月激情综合网| AV九九| 亚洲天堂碰碰婷婷| 六月婷婷狠狠| 婷婷情色五月天| 蜜臀综合久草| 夜夜人妻五月天| 97色啪| 91夫妻网站九色| www.yw尤物| 五月丁香六月综合激情无码软件亮点| www.色综合| 视频一二区| 五月天婷婷高清无码| 九九色综合九九色| 久婷婷五月综合欧美| 婷婷丁香人妻久久在线观看| 色婷婷小说| aaaa.黄| 亚洲婷婷激情888精品久| 五月婷中文字幕| 9999综合99综合人| 丁香五月天激情AV| 色婷婷影视| 91久久久久久久久18| 五月婷婷免费在线观看视频| 人妻熟女一区二区AV| 丁香五月天导航| 97色欧美| 99超级碰碰| 五月婷婷第四色| 精品成人在线| 亚洲综合色丁香五月天| 日韩成人免费电影| 色情婷婷| 婷婷啪啪| 丁香五月婷婷啪啪啪| www热久久yy9| 99精品女人天堂| 婷婷五月天无码| 亚洲激情六月| 五月 婷婷 成人| 操精品9| 丁香五月天啪啪激情综和网| 国产精品第一国产精品| 激情图片婷婷| 免费看欧美成人A片无码| 97色色色色| 天天舔天天爽| 综合久久婷婷五月丁香| 人妻久久做| 五月婷婷综合视频| 蜜臀A∨在线水帘洞| 99视频自拍| 婷婷久久五月| 亚洲亚洲人成综合网络| 亚洲爱爱无码婷婷色五月| 欧美成人精品A片免费一区99| 婷婷 久综合| 天天插天天插| 青青热久精品视频在线观看| 久草热8精品视频在线观看| 久久五月丁香六月婷| 国自产拍偷拍精品啪啪一区二区| 人妻videos人妻高清| 天堂久久丁香| 日本色色色| 国产无人区大片| PORNY九色9l自拍视频成人| 婷婷六月激情| 天天干一干| 婷婷亚洲在线| 4399欧美另类视频| 五月丁香婷婷在线| 狠狠色噜噜狠狠色噜噜噜999| 99爱在线视频| 99热这里只有在线| 久久婷婷综合国产| 在线只有精品| 婷婷丁香五月天狠狠| 热久久这里只有三级视频| 97色色色| 九九色色| 99热超碰人| 中文AV在线观看| 天天综合亚洲综合网天天αⅴ| 国产精品99久久久久久久女警 | 北京熟妇搡BBBB搡BBBB| 亚洲国产va| 97色热| 99精品偷自拍| 五月丁香另类图片| 成人短视频在线观看| www.97视频| 青青草五月天| 国产色色在线| 禁片二区| 开心婷婷五月| 九九视频这里只有精品| 婷婷99| 九九草草逼| 丁香婷婷五月色成人网站| 青青热久精品视频在线观看| 色青五月天| 天天日天天插| 婷婷五月天综合在线 | 中文字幕乱轮| 亚洲小视频免费播放| 日日夜夜天天爽| 久99久在线| 久久久aaa| 天天操婷婷| 色色色色av色色色色| 综合欧美五月婷婷| 99九九热视频免费| 另类少妇人与禽zOZZ0性伦| 在线观看婷婷5月| 五月天婷婷色小说| 99热最新| 激情丁香久久久久久| 无码日本精品XXXXXXXXX | 色色日本欧美| 国产精品A片| 五月婷婷高清| 亚洲天堂大香蕉| a级毛片一区二区免费视频| 狠狠色成人影片| 久久九精品| 激情五月www| 婷婷色色综合激情| 九九色精品| 亚洲av午夜精品一区二区| 国精产品一区一区三区免费视频 | 亚洲日韩26uuu| 亚洲欧洲另类| 91人人操人人爱| 亚洲欧洲一二| 丁香五月婷婷激情97| 97干在线视频| 怡红院视频| 日韩在线视频中文字幕| 丁香五月成人社区| 亚洲 五月 婷婷 成人| 99热这里只有精品国产免费| 日本三级黄色大片| 99久久精品国产色欲| 丁香五月婷婷五月基地| 99热在线观看亚洲区| 丁香五月日啪| 天堂婷婷五月在线| 久久久网站| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 超碰av在| 在线看片h站| 人妻体体内射精一区二区 | 五月天成人在线播放丁香| 日本天天综合| 色综合播放| 亚洲中文无码成人| 華人性愛AV在線| 欧美日韩一a.无| 超碰成人电影| 三级三久久线久久99久目本WW| 国产97色在线 | 日韩| 9999热在线观看| 天天艹| 91 九色 入口| 色九月婷婷丁香| 1024操逼视频| 亚洲乱码在线观看| 91色久| 丁香五月婷婷亚洲色图| 天堂婷婷五月在线| 日韩婷婷五月天| 久色网五月| 99视频只有这里精品| 丁香色综合| 亚洲色网址| 在线视频99| 91九色视频| 激情av| 狠狠色 综合色区| 偷拍九九热| 日本全黄一级999| 新激情综合| 婷婷九月激情| 人妻射精AV| 欧美综合婷婷网| 综合久久六月| 六月婷婷久久| 婷婷五月av| 欧美丰满熟妇BBB久久久| 色色色com| 色综合久久综合| 成片免费播放| 丁香色播五月天| www,天天干| 久综合网| 超级碰碰97在线| 美国不卡视频| 国产精品电影| 亚洲VA在线| 国产精品视频| 99精品偷自拍| 98色丁香五月婷婷综合网| 色5月婷婷色| 五月开心六月婷婷在线播放网站| 操一操| www久久艹| 精品一二三区久久AAA片| 色天使久久综合| 91操网| 91人妻视频| 婷婷丁香五月激情密臀av| 狠狠干狠狠干| 91久久九九| 色情五月天视频网| 丁香综合网| 亚洲视频二区| www九九免费视频| 久久久.COM| 五月婷婷中文网| 综合激情在线视频| 九月丁香婷婷基地| 爽极品色| 色婷婷裸体色性在线| 五月综合色| H亚洲| 99热在线观看免费中文| 日日噜狠狠色| 91久久婷婷| 91九色超碰正在播放| 婷婷五月激情丁香激情| 91干在线| 97亚洲精品| 九九激情网| 五月开心网| 狠狠婷婷色| 看婷婷五月天网| 俺去也五月天| 操B视频在线播放| 久草A片| 久久99热这里只有精品| 国产美女无遮挡裸体毛片A片| 久久性刺激| 激情五月丁香六月婷婷| 亚洲操逼网| 69人妻人人澡人人爽久久| 婷婷色播综合五月| 午夜大香蕉| 在线不卡中文字幕| 这里只有精彩亚洲视频推荐| 色综合久久久久| 99re久热只有精品6在线直播.com| 亚洲九九99精品视频在线播放| 欧美日韩一区二区三区四区| 日韩伊人大香蕉| 亚洲激情97五月天| 人妻熟人中文字幕一区二区| 色婷婷影院| 粉嫩av懂色av蜜臀av熟妇| 色综合久网| 色情综合网| 五月天操逼激情| 色亚洲视频| 无码99| 大香蕉520| 99久久网站| 色婷婷五月色| 狠狠色丁香久久婷婷综合五月| 婷婷开心久久| 五月天啪啪网| 99热只有精| 综合色七七| 亚洲第一视频 久久| 婷婷D区| 欧美熟女乱又伦| 国产偷人爽久久久久久老妇APP | 日日干干天天干| 天天干,夜夜爽| 久久AAAA片一区二区| 97色色综合| 99精品在线观看| 久草热在线视频| 伊人99热| 99久在线精品99re8| 婷婷五月天国产精品| 99这里只有精| 久久五月天激情婷婷| 激情六月天| 另类小说婷婷色| 久久99久久99久久99| 色丁香六月| 九九中文字幕九| 99热亚洲| 91一起艹| 五月丁香啪啪网| 天干干夜夜操| 精品热九九| 婷婷开心激情| 狠狠爱激情网| 五月天婷婷丁香| 五月人人丁香婷婷五月人人丁香| 精品香蕉99久久久久网站| 久久在线人妻| 国产精品成人网站| 色哟哟精品| 婷婷五月天最新综合你懂的 | 狠狠色丁香久久久婷| 五月婷婷影院| 一级A片天天操夜夜操| 丁香五月婷婷少妇| www.henhenl| 亚洲另类婷婷五月丁香在线播放| 202丰满熟女妇大| 婷婷第六色| 丁香六月激情| 五月婷婷综合网| 精品99视频| 丁香婷婷大香蕉| 五月婷婷开心激情六月蜜桃| 狠狠狠狠狠狠草| 色色五月婷婷久久| 无码一区二区三区四区五区| 蜜桃婷婷丁香综合久久开心亚洲| 久久99热在线观看| 国产激情综合五月久久| 成人精品视频99在线观看免费| 激情婷婷五月基地| 色五月超碰| 国产午夜精品一区二区三区嫩草| 激情婷婷色五月| 在线视频你懂得| 婷婷五月天国产传媒| 97se视频在线| 五月婷免费视频久久久| 岛国午夜视频| 久久伊人五月天| 亚洲综合五月天婷婷| 激情五月天综合网站网站网站| 4399精品一区二区| 97色色色| 色婷婷五月在线| 日日天天天| 成人AV综合在线| 久9热| 五月丁香激情综合网| 天天噜天天插| 美女91一起草| 亚洲精品又粗又大又爽A片| 99爱视频| 一区二区三区四区无码| 综合激情五月天| 久久青青日本视频| 少妇被下春药玩弄A片| 婷婷久久免费| 99热精国产这里只有精品| 五月丁香啪啪激情| 操操操91| 免费视频WWW在线观看网站| 日本狠狠色| 五月婷婷色吧!| 天天做天天爱天天爽夜夜揉| 大香AV| 五月综合激情啪啪啪啪啪| 亚洲激情网| 天天色99| 激情小说视频图片| 呦呦v线| 色一区高清| 五月婷婷激情久久| 最新久久99视频网站| 日韩AV免费电影在线播放| 大香蕉综合在线| 色五月 五月婷婷| 久色五月| 颜射 精品性爱av| 天天噜天天插| 丁香色综合| 超碰99热精品| 亚洲最大视频网站| 午夜不卡久久精品无码免费| 五月丁香六月婷婷网| 五月婷婷,狠狠操| 99热精品在线播放| 99热这里只有精品无码| 天天操夜夜夜拍拍拍| 五月天婷基地| AV中文在线| 91婷色| 色婷婷AV在线| 欧美网站视频4399| 色99www.| 中文字幕黄色电影网址| 亚洲婷婷综合视频| 亚洲AV成人精品网站在线播放| 欧美日本免费一道免费视频| 五月天婷婷综合| 97人人干| 丁香五月社区| 国产 码在线成人网站| 亚洲综合99| 久久人人妻| 天天干天天做| 日本三级大片| 26uuu国产| 欧美日韩中文国产一区发布| 五月丁香婷婷色| 91婷婷| 午夜天堂一区人妻| 怎么样可以看免费的一级av| 91妻人人爽人人看片| 中文字幕无线久必| 另类五月激情| 亚洲天堂AV综合网| 激情丁香五月AV| 欧美 日韩 成人| 国产97色在线 | 日韩| 九九色色网| 狠狠色丁香久久久婷| 亚洲99激情| 色婷婷六月精品| 天天狠狠干| 99色综合| 国产成人网| 精品一二三区久久AAA片| 欧美情色一区| 97性高潮久久久| 伊人网碰碰| 天天激情5月天亚洲| 亚洲舔观看| 五月天影院| 婷婷久久五月天丁香| 丁香六月情| 碰97 久| 操操熟女| 五月丁香啪啪婷婷| 888精品福利地址| 草做免费在线观看| 色婷婷五月天在线观看| 欧美精品在线观看| AV在线观看网站| 五月丁香六月色婷婷综合五月天| 无码网| 夜夜骑福利资源| 成人精品人妻| 久热免费视频| 亚洲成人AV电影网| 综合婷婷久久| 五月丁香好婷婷A片网| 噜噜噜噜综合在线| 九九黄色网| 激情性爱五月天网页| 玖玖午夜视频| 96人人操人人操人人| 国产精品久久久丁香五月八戒视频| 丁香五月天啪啪a日本| 99熟女| 狠狠色综合五月人人| 精品99在线| 亚洲色婷婷网站| 夜色综合网| 国外亚洲成AV人片在线观看| 日韩美一级毛卡片| 去干网av| 六月丁香六月婷婷欧美| www夜夜操| 久碰久| 丁香五月婷婷姐| 综合网啪| 少妇人妻丰满做爰XXX| 丁香五月天.com| 五月丁花色综合网| 九月婷婷久久久| 久久38视频| 《战争与艾拉》完整版| 色综合99| 色五月激情五月| 91免费看片| AV天堂婷婷五月天| 五月天播播| 九九99香蕉在线视频播放| www.五月天婷婷姐姐| 超碰91在线| www.五月婷| 婷婷五月丁香伊人网| 亚洲综合激情五月久久| 一起草日本| 操逼福利视频| 五月婷婷大香蕉| 大香婷婷| 五月婷综合网| 九月婷婷久久| 影音先锋毛片网站| 六月丁香五月天| 婷婷五月天天| 婷婷五月成人色综合| 色婷婷先锋| 久久精彩视频99| 色婷婷丁香特级性爱视频| 丁香五月av| 91九色丨国产丨爆乳| 天天摸天天做天天爱天天爽| 欧美性猛交99久久久久99按摩| 中文字幕成人| 久99久精品| 9久久久| 婷婷操婷婷干婷婷射| www.金莲av| 婷婷亚洲丁香五月| 天天操夜夜操| 午夜丁香| 久久婷婷亚洲| 日韩av在线免费观看| 丁香五月婷婷香| 婷婷五月丁香四射| 丁香婷婷五月六月天| 性做爰1一7伦| 精品一二三区视频立| 丁香五月手机在线| 久久久网站| 五月开心激情| 热九九精品| 激情www| 九九热视频精品2| 夜夜撸夜夜骑| 五月天婷婷综合久久| 91久久久久久久久18| 日本久久婷| 欧美一级色| 激情久久综合| 五月丁香六月情| 秋霞电影一级黄| 97色色视频| 一区二区三区四区五区| 色综合99| 美臀自射自家人妻| 亚洲精品一区无码A片| 亚洲综合色丁香五月天| 玖玖99婷婷| 色婷婷五月天视频在线| 色婷婷影音|