免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

ROS2自定義消息實(shí)戰(zhàn):從msg設(shè)計(jì)到話題觀測(cè)

ROS2自定義消息實(shí)戰(zhàn):從msg設(shè)計(jì)到話題觀測(cè) 這周調(diào)四輪差速底盤(pán)時(shí)我又被同一個(gè)問(wèn)題絆了一下輪速、電流、溫度、PWM這些狀態(tài)量到底用哪種ROS2話題消息發(fā)下游節(jié)點(diǎn)才看得最省心用Float32MultiArray當(dāng)然能發(fā)但下標(biāo)一多收的一方根本不知道第3個(gè)float是電流還是占空比。于是我把這套協(xié)議寫(xiě)成了自定義msg順手把ROS2自定義消息設(shè)計(jì)、功能包配置、發(fā)布訂閱實(shí)現(xiàn)和話題觀測(cè)的完整流程走了一遍。這篇記錄就是這次實(shí)戰(zhàn)的復(fù)盤(pán)適合剛?cè)腴T(mén)ROS2、被自定義消息繞暈的新手也適合想規(guī)范自己消息接口的中級(jí)開(kāi)發(fā)者。看完你能獨(dú)立完成一個(gè)msg功能包從設(shè)計(jì)字段到編譯驗(yàn)證再通過(guò)命令行和可視化工具把話題數(shù)據(jù)看得明明白白。1. 自定義消息的適用邊界什么時(shí)候該自己寫(xiě)msg什么時(shí)候直接用標(biāo)準(zhǔn)類型1.1 從底盤(pán)狀態(tài)發(fā)布需求說(shuō)起一個(gè)下標(biāo)引發(fā)的協(xié)議混亂先還原一下場(chǎng)景。我要把四個(gè)輪子的目標(biāo)轉(zhuǎn)速、實(shí)際轉(zhuǎn)速、電機(jī)溫度、母線電流、PWM占空比發(fā)出來(lái)每50ms一幀總共需要十幾二十個(gè)字段。第一反應(yīng)是用std_msgs/Float32MultiArray定義一個(gè)20維的數(shù)組。發(fā)布端攥著下標(biāo)一個(gè)values[3]xxx地賦值訂閱端也要靠下標(biāo)去猜一旦兩個(gè)版本對(duì)不上輕則讀錯(cuò)數(shù)據(jù)重則把溫度當(dāng)成了轉(zhuǎn)速去跑安全判斷。這已經(jīng)不是代碼風(fēng)格的問(wèn)題是數(shù)據(jù)安全隱患。用自定義msg之后完全不同msg里字段有名字、有類型、有注釋motor_id就是motor_idtemperature就是temperature。發(fā)布端寫(xiě)起來(lái)是msg.temperature45.2訂閱端一眼就知道這個(gè)數(shù)代表什么代碼可讀性和可維護(hù)性直接上了一個(gè)臺(tái)階。1.2 標(biāo)準(zhǔn)消息庫(kù)能覆蓋大多數(shù)場(chǎng)景但個(gè)性化協(xié)議還得自己來(lái)不是說(shuō)所有消息都要自定義ROS2發(fā)展到現(xiàn)在標(biāo)準(zhǔn)接口庫(kù)已經(jīng)非常全。我最常用的幾個(gè)標(biāo)準(zhǔn)消息類型適用場(chǎng)景std_msgs/String、Bool、Int32簡(jiǎn)單狀態(tài)量、開(kāi)關(guān)、日志字符串std_msgs/Header帶時(shí)間戳和frame_id的消息頭geometry_msgs/Pose、Twist、Transform位姿、速度、坐標(biāo)變換相關(guān)sensor_msgs/Image、LaserScan、Imu相機(jī)、激光雷達(dá)、IMU傳感器數(shù)據(jù)nav_msgs/Odometry里程計(jì)判斷是否要自定義消息我一般看三條這個(gè)數(shù)據(jù)結(jié)構(gòu)會(huì)不會(huì)在多個(gè)節(jié)點(diǎn)之間復(fù)用字段是否相對(duì)固定下游是否依賴字段名字做邏輯判斷如果三個(gè)答案都是“是”就值得寫(xiě)自定義msg。如果只是一次性臨時(shí)傳參沒(méi)人在乎字段名那用MultiArray之類的通用結(jié)構(gòu)也能湊合但別讓這種代碼活過(guò)一星期。還有一個(gè)重要權(quán)衡標(biāo)準(zhǔn)消息類型往往自帶工具鏈支持。sensor_msgs/Imu可以在rviz2里直接可視化nav_msgs/Odometry可以被導(dǎo)航棧直接消費(fèi)。自定義消息想讓外部工具看懂就得自己寫(xiě)插件或者靠Foxglove這類通用工具兜底。所以我的原則是能復(fù)用標(biāo)準(zhǔn)消息就別自創(chuàng)只有標(biāo)準(zhǔn)類型無(wú)法準(zhǔn)確表達(dá)業(yè)務(wù)語(yǔ)義時(shí)才自寫(xiě)。2. 從零創(chuàng)建一個(gè)獨(dú)立msg功能包依賴、文件配置與編譯鏈路2.1 為什么我建議把msg單獨(dú)放在一個(gè)功能包里項(xiàng)目一多你就知道消息接口和業(yè)務(wù)邏輯混裝在一個(gè)包里麻煩會(huì)接踵而至。A包要引用B包里的msgB包又要依賴A包的消息很容易出現(xiàn)循環(huán)依賴。更常見(jiàn)的是業(yè)務(wù)包更新頻繁消息包也跟著一遍遍重新編譯所有依賴它的節(jié)點(diǎn)全要連帶重編開(kāi)發(fā)效率被拖得很低。所以我現(xiàn)在只要項(xiàng)目里有自定義消息都會(huì)給它們單獨(dú)建一個(gè)功能包比如叫my_msgs或者robot_interfaces。命名上建議用“項(xiàng)目名interfaces”或者“項(xiàng)目名msgs”既清楚又符合社區(qū)習(xí)慣。功能包構(gòu)建類型用ament_cmake雖然消息也能在ament_python包里生成但CMake版對(duì)跨語(yǔ)言支持最省事Python和C節(jié)點(diǎn)都能直接消費(fèi)不用額外處理安裝路徑。2.2 創(chuàng)建功能包與編寫(xiě)MotorStatus.msg創(chuàng)建命令很簡(jiǎn)單cd ~/ros2_ws/src ros2 pkg create my_msgs --build-type ament_cmake mkdir my_msgs/msg然后在msg目錄下新建MotorStatus.msg內(nèi)容可以這樣設(shè)計(jì)# 電機(jī)狀態(tài)消息 int32 motor_id # 電機(jī)編號(hào) float32 speed # 當(dāng)前轉(zhuǎn)速 rad/s float32 target_speed # 目標(biāo)轉(zhuǎn)速 rad/s float32 current # 母線電流 A float32 temperature # 電機(jī)溫度 ℃ builtin_interfaces/Time stamp # 時(shí)間戳每一行就是一個(gè)字段格式是“類型 名字 # 注釋”。注釋會(huì)在ros2 interface show里顯示出來(lái)等于把設(shè)計(jì)文檔直接帶進(jìn)了工具鏈。2.3 CMakeLists.txt與package.xml里缺一不可的配置寫(xiě)好msg文件后最關(guān)鍵的配置在CMakeLists.txt和package.xml里。CMakeLists.txt中至少在ament_package()之前加find_package(rosidl_default_generators REQUIRED) find_package(builtin_interfaces REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} msg/MotorStatus.msg )package.xml里需要補(bǔ)齊這幾行buildtool_dependrosidl_default_generators/buildtool_depend exec_dependrosidl_default_runtime/exec_depend dependbuiltin_interfaces/depend member_of_grouprosidl_interface_packages/member_of_group這個(gè)member_of_group是最容易被忽略的一行。漏掉之后消息雖然能編譯出來(lái)但其他功能包可能沒(méi)法正常識(shí)別這個(gè)包提供的接口現(xiàn)象就是找不到類型、build依賴報(bào)錯(cuò)或者ros2 interface list里搜不到。2.4 編譯、source與接口驗(yàn)證缺一步都會(huì)讓你懷疑人生配置完成后回到工作空間根目錄編譯cd ~/ros2_ws colcon build --packages-select my_msgs source install/setup.bash然后驗(yàn)證接口是否被正確識(shí)別ros2 interface show my_msgs/msg/MotorStatus看到剛才寫(xiě)的字段說(shuō)明消息包已經(jīng)注冊(cè)到系統(tǒng)里了。這一步一定要做。如果不做就急著去寫(xiě)發(fā)布訂閱節(jié)點(diǎn)遇到import報(bào)錯(cuò)再回頭排查浪費(fèi)的時(shí)間遠(yuǎn)超你想象。3. msg字段設(shè)計(jì)原則類型選型、命名習(xí)慣與版本演進(jìn)3.1 字段類型怎么選從基本類型到時(shí)間和嵌套消息ROS2 msg的基本類型和大多數(shù)語(yǔ)言差不多bool、int8/16/32/64、uint8/16/32/64、float32、float64、string。需要注意兩點(diǎn)一是float32對(duì)應(yīng)C的floatPython則統(tǒng)一用float二是ROS2里時(shí)間戳字段推薦顯式寫(xiě)builtin_interfaces/TimeDuration同理用builtin_interfaces/Duration不要再用舊版本那種裸time/duration寫(xiě)法跨包依賴時(shí)容易出問(wèn)題。如果涉及坐標(biāo)、位姿等數(shù)據(jù)可以直接嵌套其他包的消息std_msgs/Header header geometry_msgs/Pose pose sensor_msgs/PointCloud2 cloud嵌套能極大復(fù)用已有生態(tài)下游拿到Pose后可以直接配合TF、rviz等工具使用。數(shù)組也很常用float32[] ranges表示變長(zhǎng)數(shù)組float32[4] wheel_speeds表示定長(zhǎng)數(shù)組。設(shè)計(jì)時(shí)想清楚業(yè)務(wù)需要的是定長(zhǎng)還是變長(zhǎng)定長(zhǎng)數(shù)組在內(nèi)存布局上更規(guī)整變長(zhǎng)數(shù)組更適合點(diǎn)云這類動(dòng)態(tài)數(shù)據(jù)。3.2 常量定義與注釋規(guī)范msg里允許定義常量用法和枚舉很像uint8 MODE_IDLE0 uint8 MODE_RUN1 uint8 MODE_FAULT2 uint8 mode下游判斷模式時(shí)不用寫(xiě)裸數(shù)字直接用MotorStatus.MODE_RUN代碼可讀性提高一大截。注釋用#建議把單位、范圍、異常值都寫(xiě)在注釋里ros2 interface show都能看到等于給協(xié)議做了可查詢的活文檔。我見(jiàn)過(guò)很多項(xiàng)目里msg文件干干凈凈沒(méi)有任何注釋過(guò)兩個(gè)月連自己都得猜字段含義這習(xí)慣真的得改。3.3 版本迭代時(shí)盡量向后兼容消息協(xié)議一旦在多個(gè)節(jié)點(diǎn)間流傳改動(dòng)就要格外謹(jǐn)慎。加一個(gè)字段所有發(fā)布端和訂閱端都更新基本沒(méi)問(wèn)題但刪字段、改類型哪怕只是int32改成float32都可能讓舊節(jié)點(diǎn)按錯(cuò)誤的字節(jié)序解析數(shù)據(jù)出現(xiàn)完全不正常的值。我的經(jīng)驗(yàn)是能加字段就加字段不要?jiǎng)h改舊字段如果實(shí)在要改語(yǔ)義就新增加一個(gè)字段舊字段保留并標(biāo)記為deprecated。另外msg功能包升級(jí)后依賴它的業(yè)務(wù)功能包必須重新編譯并source否則節(jié)點(diǎn)還在跑舊類型定義容易出現(xiàn)字段對(duì)不上、內(nèi)存解析錯(cuò)位的詭異問(wèn)題。4. 發(fā)布與訂閱自定義消息Python與C的最小可運(yùn)行實(shí)現(xiàn)4.1 Python發(fā)布端與訂閱端從import到publish只需要幾行Python端流程很清晰發(fā)布節(jié)點(diǎn)import rclpy from rclpy.node import Node from my_msgs.msg import MotorStatus class MotorPublisher(Node): def __init__(self): super().__init__(motor_status_publisher) self.publisher_ self.create_publisher(MotorStatus, motor_status, 10) self.timer self.create_timer(0.1, self.timer_callback) def timer_callback(self): msg MotorStatus() msg.motor_id 1 msg.speed 120.5 msg.target_speed 120.0 msg.current 3.2 msg.temperature 45.2 self.publisher_.publish(msg) def main(argsNone): rclpy.init(argsargs) node MotorPublisher() rclpy.spin(node) node.destroy_node() rclpy.shutdown() if __name__ __main__: main()訂閱節(jié)點(diǎn)唯一需要注意的是回調(diào)函數(shù)只接收一個(gè)msg參數(shù)class MotorSubscriber(Node): def __init__(self): super().__init__(motor_status_subscriber) self.subscription self.create_subscription( MotorStatus, motor_status, self.listener_callback, 10) def listener_callback(self, msg): self.get_logger().info( fmotor_id{msg.motor_id} temp{msg.temperature:.2f})我自己項(xiàng)目里最容易犯的錯(cuò)是msg字段拼寫(xiě)和定義不一致比如定義的是target_speed寫(xiě)代碼時(shí)寫(xiě)成targetSpeedPython會(huì)在賦值時(shí)才報(bào)AttributeError一報(bào)錯(cuò)就先慌半天。其實(shí)翻一眼ros2 interface show就能對(duì)上排查成本極低。4.2 C實(shí)現(xiàn)要點(diǎn)蛇形頭文件與CMake鏈接C工程里消息頭文件是蛇形命名的my_msgs/msg/motor_status.hpp。寫(xiě)一個(gè)最小發(fā)布端#include rclcpp/rclcpp.hpp #include my_msgs/msg/motor_status.hpp using my_msgs::msg::MotorStatus; class MotorPublisher : public rclcpp::Node { public: MotorPublisher() : Node(motor_status_publisher) { publisher_ this-create_publisherMotorStatus(motor_status, 10); timer_ this-create_wall_timer(std::chrono::milliseconds(100), [this]() { auto msg std::make_sharedMotorStatus(); msg-motor_id 1; msg-speed 120.5; msg-target_speed 120.0; msg-current 3.2; msg-temperature 45.2; publisher_-publish(*msg); }); } private: rclcpp::PublisherMotorStatus::SharedPtr publisher_; rclcpp::TimerBase::SharedPtr timer_; };CMakeLists里要鏈接my_msgsfind_package(my_msgs REQUIRED) ament_target_dependencies(motor_pub rclcpp my_msgs)漏掉find_package(my_msgs REQUIRED)時(shí)編譯報(bào)錯(cuò)通常是找不到頭文件提示并不直觀容易讓人誤以為是路徑問(wèn)題。如果發(fā)現(xiàn)編譯一報(bào)錯(cuò)就是fatal error: my_msgs/msg/motor_status.hpp: No such file or directory九成是這句沒(méi)寫(xiě)。4.3 QoS匹配是topic echo沒(méi)數(shù)據(jù)最常見(jiàn)的元兇發(fā)布訂閱都寫(xiě)對(duì)了ros2 topic echo還是沒(méi)數(shù)據(jù)十有八九是QoS策略不兼容。簡(jiǎn)單說(shuō)QoS就是收發(fā)雙方對(duì)消息可靠性、時(shí)效性、歷史深度的約定。depth是隊(duì)列深度reliability分reliable和best_effort前者保證不丟包但可能延遲后者犧牲可靠性換低延遲。如果發(fā)布端是sensor_databest_effort訂閱端卻是默認(rèn)的reliable兩邊匹配不上數(shù)據(jù)就傳不過(guò)去。排查方法很直接ros2 topic info /motor_status -v這個(gè)命令會(huì)顯示發(fā)布者和訂閱者各自的QoS配置。如果reliability一側(cè)是Reliable另一側(cè)是Best Effort就需要在create_subscription里顯式指定QoS或者把發(fā)布端的QoS改成兼容版本。我用攝像頭數(shù)據(jù)時(shí)經(jīng)常遇到這個(gè)問(wèn)題而自己寫(xiě)的控制消息默認(rèn)reliable通常不太會(huì)踩坑但一旦踩了排查起來(lái)很隱蔽。5. 話題觀測(cè)的完整工具箱CLI、可視化工具與日志兜底5.1 ros2 topic系列命令list、echo、info、hz、bw一次說(shuō)清命令行是觀測(cè)話題的第一道門(mén)我基本每天都會(huì)用到這一組命令ros2 topic list # 列出所有話題 ros2 topic list -t # 列出話題及其消息類型 ros2 topic echo /motor_status # 持續(xù)打印話題數(shù)據(jù) ros2 topic echo /motor_status --once # 只打印一幀 ros2 topic info /motor_status -v # 查看發(fā)布訂閱數(shù)量和QoS ros2 topic hz /motor_status # 統(tǒng)計(jì)真實(shí)發(fā)布頻率 ros2 topic bw /motor_status # 統(tǒng)計(jì)話題帶寬占用 ros2 interface show my_msgs/msg/MotorStatus # 查看字段定義其中hz最實(shí)用。比如你設(shè)置了10Hz定時(shí)器但回調(diào)耗時(shí)太長(zhǎng)hz顯示出來(lái)只有2Hz不用猜就能定位是發(fā)布側(cè)卡了還是調(diào)度出了問(wèn)題。bw則在排查大消息點(diǎn)云、圖像占用帶寬時(shí)很有用。5.2 rqt_graph與rviz2可視化觀測(cè)能做到什么程度rqt_graph能把節(jié)點(diǎn)和話題關(guān)系畫(huà)成一張圖是理解系統(tǒng)拓?fù)渥钪庇^的工具rqt_graph看到節(jié)點(diǎn)間的箭頭就能快速判斷話題名和節(jié)點(diǎn)連接是否符合預(yù)期。如果某個(gè)話題的箭頭沒(méi)畫(huà)出來(lái)或者多了一個(gè)意料之外的節(jié)點(diǎn)連接通常說(shuō)明命名或邏輯有問(wèn)題。我在調(diào)多節(jié)點(diǎn)系統(tǒng)時(shí)幾乎每次都會(huì)先開(kāi)rqt_graph再?zèng)Q定下一步看哪里。rviz2對(duì)自定義消息的支持就有限了。像Pose、LaserScan、Imu這種標(biāo)準(zhǔn)消息rviz2有專門(mén)的Display插件可以直接可視化但MotorStatus這種純數(shù)值消息rviz2沒(méi)有默認(rèn)Display能顯示。我一般不在rviz2里看這種消息而是用Foxglove Studio。Foxglove對(duì)自定義消息支持得更好能直接以表格和曲線形式看任意字段非常適合電機(jī)狀態(tài)這類遙測(cè)數(shù)據(jù)。5.3 自寫(xiě)觀測(cè)節(jié)點(diǎn)和ros2 bag不依賴圖形界面的兜底方案如果目標(biāo)環(huán)境沒(méi)有圖形界面比如工控機(jī)或者Docker容器里命令行和自寫(xiě)節(jié)點(diǎn)就很重要。我個(gè)人的習(xí)慣是在每個(gè)業(yè)務(wù)包里留一個(gè)debug_sub節(jié)點(diǎn)用最簡(jiǎn)單的方式打印關(guān)鍵字段必要時(shí)還可以直接pdb.set_trace()進(jìn)入調(diào)試單幀數(shù)據(jù)就能停在那慢慢看。另一個(gè)被低估的工具是ros2 bagros2 bag record /motor_status ros2 bag play rosbag2_xxx現(xiàn)場(chǎng)測(cè)完一包數(shù)據(jù)回到工位回放配合topic echo和Foxglove慢慢分析。尤其是偶發(fā)異??咳搜鄱onsole根本盯不住錄包回放是唯一高效的辦法。這個(gè)習(xí)慣幫我解決過(guò)好幾次“現(xiàn)場(chǎng)復(fù)現(xiàn)不了”的疑難雜癥。6. 踩坑實(shí)錄自定義msg使用中最容易翻車(chē)的五個(gè)細(xì)節(jié)6.1 source順序和構(gòu)建緩存導(dǎo)致的消息類型“消失”最常見(jiàn)也最氣人的問(wèn)題明明已經(jīng)colcon build了ros2 interface show卻提示找不到類型。原因通常是當(dāng)前終端沒(méi)有source新生成的install/setup.bash或者之前source的是另一個(gè)工作空間的setup.bash。解決辦法是新開(kāi)終端cd ~/ros2_ws source install/setup.bash確保路徑里同時(shí)包含基礎(chǔ)ROS2環(huán)境和當(dāng)前工作空間。如果source沒(méi)問(wèn)題但還是找不到就得懷疑build/install目錄里的舊緩存了。這種時(shí)候我一般直接刪掉build和install目錄再重新build雖然慢一點(diǎn)但能把各種莫名其妙的舊文件問(wèn)題一次性清干凈。6.2 修改msg后調(diào)用方還在用舊字段我試過(guò)在MotorStatus里把current字段改名為bus_current所有被依賴的包都重新編譯了但跑起來(lái)的一個(gè)Python節(jié)點(diǎn)一直報(bào)AttributeError。原因是想當(dāng)然以為source了新環(huán)境就萬(wàn)事大吉實(shí)際上某些ros2 run是從舊終端啟動(dòng)的進(jìn)程還加載著舊環(huán)境變量或者install目錄里舊包沒(méi)被覆蓋。解決方法是全關(guān)終端重新source必要時(shí)把install目錄下對(duì)應(yīng)包的緩存刪掉再build。經(jīng)驗(yàn)就是當(dāng)你肉眼看到字段沒(méi)生效先殺終端進(jìn)程和舊節(jié)點(diǎn)而不是只編譯一次。6.3 消息包被多個(gè)業(yè)務(wù)包依賴時(shí)的構(gòu)建順序問(wèn)題當(dāng)my_msgs被底盤(pán)控制、導(dǎo)航、狀態(tài)機(jī)三個(gè)包同時(shí)依賴時(shí)colcon build的默認(rèn)順序一般沒(méi)問(wèn)題它會(huì)自己解析依賴。但如果只用了--packages-select去編譯某個(gè)業(yè)務(wù)包而my_msgs還沒(méi)編譯或沒(méi)source那結(jié)果一定是找不到頭文件或import報(bào)錯(cuò)。正確做法是用--packages-up-tocolcon build --packages-up-to motor_controller這個(gè)命令會(huì)把依賴鏈上游一起編譯而--packages-select只編譯指定包本身。這兩個(gè)參數(shù)的差別踩過(guò)坑的自然懂。6.4 echo有話題但數(shù)據(jù)為空或出現(xiàn)nan這個(gè)坑我踩得莫名其妙。發(fā)布端打印出來(lái)的msg里明明是正常數(shù)值但訂閱端收到后卻是nan或者0。后來(lái)發(fā)現(xiàn)是C代碼里創(chuàng)建了消息對(duì)象但沒(méi)有給字段賦值就發(fā)布某些字段的值取決于內(nèi)存初始狀態(tài)不一定是0。另一個(gè)常見(jiàn)情況是把float32字段定義成數(shù)組了或者數(shù)據(jù)結(jié)構(gòu)改了但解析代碼沒(méi)改。建議發(fā)布前先斷言一遍關(guān)鍵字段if (!std::isfinite(msg-speed)) return;這種防御式寫(xiě)法能把臟數(shù)據(jù)擋在源頭省得下游節(jié)點(diǎn)拿到異常值后像無(wú)頭蒼蠅一樣亂轉(zhuǎn)。6.5 話題名和消息類型對(duì)不上排查思路固定化還有一類錯(cuò)誤跟msg設(shè)計(jì)無(wú)關(guān)但特別容易在項(xiàng)目里反復(fù)出現(xiàn)發(fā)布的是/motor_status訂閱端監(jiān)聽(tīng)的是/motor_status/statusrqt_graph一看全是孤立節(jié)點(diǎn)。這種問(wèn)題排查思路可以固定下來(lái)先用ros2 topic list -t確認(rèn)當(dāng)前話題名單和類型再用ros2 topic info /topic -v確認(rèn)收發(fā)雙方都在最后再用rqt_graph看拓?fù)洹0催@個(gè)順序走一般十分鐘內(nèi)能定位。文末不放什么宏大結(jié)論只講兩個(gè)個(gè)人體會(huì)。第一個(gè)自定義msg并不是越早設(shè)計(jì)越好先在小范圍場(chǎng)景里跑通發(fā)布訂閱等字段趨于穩(wěn)定后再抽出獨(dú)立消息包會(huì)少改很多協(xié)議。第二個(gè)我在my_msgs里維護(hù)了一個(gè)protocol_design.md把每個(gè)字段的含義、單位、有效范圍都寫(xiě)清楚這個(gè)文件比代碼注釋有用十倍每次改協(xié)議先改文檔再改msg下游同事都能少問(wèn)很多問(wèn)題。如果你也在折騰自定義消息建議從最簡(jiǎn)單的MotorStatus這類狀態(tài)消息開(kāi)始先看完topic echo輸出再談其他。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人国产婷婷五月天 | 天天操天天曰| 深爱五月月天| 中文精品在| 91性高潮久久久久久久久| 丁香色播五月天| 99热热这里只精品996小说| 色色综合网站| 九九成人视频| 这里只有精品1| 能直接看的AV网站| 亚洲一色色色色色色色色| 99福利视频导航| 超碰免费人人| 狠狠爱婷婷爱| 六月婷婷久久| 五月婷婷草| 五月天婷a| 婷婷六月丁香开心深深爱| 日本97在线观看| 婷婷中文字幕| 91久热| 综合在线色婷婷| 天天爽天天日人人爱| www.久久婷婷| 天天透天天干| 99久久精彩视频| 国产精品久久久久久久久久| 成人无码精品1区2区3区免费看| 婷婷久久精品| 琪琪色五月天| 丝袜激情网| 国产真实乱了老女人视频| 九九综合伊人| www五月| 狠狠干在线| 久久久精品人妻录| 色色 亚洲| 极品人妻videosss人妻| 操一操| 99久久思思| 五月天激情小说| 狠狠久久婷婷| 久久精品视频99| 亚洲成片在线观看| 色综合天堂| 婷婷五月a| 欧在线一区| 色欲AVV| 亚洲岛国电影| 久久五月天网| 五月开心婷婷网| 色五月激情综合| 日韩无码人妻一区二区| 久久精品9| 日韩在线99| 97热久久| 综合久久婷婷五月丁香| 思思精品久久艹| 九九操综合网| 天天色视频| 深爱激情五月天| 婷婷在线视频| 超碰人人艹| 久久五月情| ady狠狠入| 操日本色| 久久网站免费亚洲| 狠狠五月天激情| 色综合久久久久久久久五月| 天天综合久久| 另类少妇人与禽zOZZ0性伦| 久碰视频| 九九色天堂| 欧美三级欧美一级| 人人人操97| 狠狠色噜噜狠狠| 丁香婷婷性久久| 337p大胆噜噜噜噜噜91Av| 夜夜骑夜夜撸| 麻豆精品| 婷婷综合成人五月天| 五月天中文网| 日韩AAAAA| 久久99久久99久久99人受| 亚洲精品第一色色色色色色| 99久在线观看| 久久久久久久合一狠狠做深爱| 99热亚洲精品| 9久热| 久久中文网| 任我肏视频精品| 久操福利| 久草热视频在线观看| 超碰在线9| 婷婷伊人网| 思思干精品| 人人性久久| 欧美日韩大黄| 综合图区激情| 丁香五月www| 激情综合九月| 深爱激情六月| 国外亚洲成AV人片在线观看| 久99久视频| 超碰伊人碰婷婷五月| 日本在线99| 九九色中文| 思思久久96热在精品国产,| 操日本人妻视频| 思思热这里只有精品| 九九视频这里只有精品| 欧洲亚洲午夜| 人人草人| 婷婷久久爱| 四色永久成人网站| 九九人人操| 综合久久五月| 色五月综合网| 中文字幕1区2区。| 少妇口诉沐足视频播放器网址| 五月天激情视频| 激情内射人妻1区2区3区| 99五月婷| 色色色热| 婷久久综合| 另类综合激情| 激情五月天网| 色八月婷婷| 婷婷五月天综合网| 99热资源在线| 五月丁香激情综合久久| 五月做爱| 激情综合网五月婷婷| 超pen个人视频97| 99操中文视频| 99热这里只有精彩| 噜噜噜噜噜在线| 激情五月丁香亭亭| 97碰在线免费观看| 五月天婷婷色色网| 91精品婷婷国产综合| 色噜噜狠狠插综合| 日本黄色精品| 成人在线网址| 久热大香蕉| 婷婷射图| 色综合色色| 久久92| 亚洲无码猫咪| 色色色色热| 色五月婷婷丁香凹凸| 99re久热只有精品6在线直播| 国产成人+综合亚洲+天堂| 9 99免费视频| 久久精彩视频| 亚洲五月婷天天操| 日本久久极品| 日本91在线| 丁香久久综合| 99激情视频| 狠狠色丁香综合| 婷婷色五月激情| 久久五月网| 久久99久久99精品免视看婷| 99热99思午夜精品| 五月丁香婷婷钟和色图| 狠狠干狠狠干| 日日夜夜狠狠婷婷色| 超碰精品在线| 欧美成人精品老美女噜噜噜| 婷婷欧美激情| 狠狠操天天干| 狠狠色综合网站久久久久| www.91在线看| 激情丁香五月| 欧美色爱五月天| 激情丁香六月| 亚洲视频操| 我爱大香蕉| 久久久精品99亚洲综合| 婷婷六久久| 大香蕉99热| 丁香五月天无码AV| 丁香久久激情俄| 开心五月深爱五月| 激情综合五月色在线| 91无码色色| 99热6色| 久久婷婷色色| 婷婷狠狠香蕉综合| 日韩婷婷| 98色花堂98t.R| 成人 在线 日韩| 日本不卡高字幕在线2019| 丁香六月天色婷婷| www.婷婷五月| 99九九热播在线免费视频| 婷婷婷久久久| 99色在线观看视频| 9九热视频| 中文字幕高清av| 操99| 婷婷五月综合体验看| 久久er视频6| 九月丁香网婷婷| 偷拍91九色| 久久6这里只有精品| 午夜AV网| 无码激情AAAAA片-区区| 99久re热视频精品98| 五月婷婷co.m| 婷婷五月亚洲激情| www.jiujiujiu| 色色色色丁香| 中文字幕人成乱码在线观看| caop在线视频| 殴美日韩成人| 婷婷五月天播播| 三区激情四射av| 欧美人人超级碰| 激情五月天综合网| 激情综合五月| 超碰人人超碰| 国产密乳av一区二区三区四区| 永久的网站AAAA | 婷婷综合丁香| 天天日天天操心| 丁香五月成人| 亚洲综合五月| www.婷婷五月| 日日夜夜天天综合| 思思国产99| 婷婷五月色花丁香社区| 偷偷狠狠久久婷婷五月天| 色五月色五天色情网| 六月99天天婷婷激情综合| 97超级碰碰碰| av成人在线播放| 五月丁香久久综合91| 色播五月婷婷| 黄网在线播放| 亚洲无AV在线中文字幕| 国产精品久久欧美久久一区| 少妇高潮呻吟A片免费看软件| 99re视频在线播放| 99操久久| 99视频在线| 婷色五月天| 亚洲久久激情| 色色色婷| 婷婷伊人綜合中文字幕| 九九视频这里只有精品| 五月婷婷激情综合| 99热在线观看| 免费观看欧美成人AA片爱我多深| 91久久婷婷人人澡草 | 天天爽夜夜爽| 五月婷婷综合精品| 综合在线色婷婷| 五月天影院| WWW.99热| 亚洲啪啪网| 超碰人人91| 亚洲人妻Av| 色情丁香五月婷婷精品| 丁香五月色| 99熟女| 五月香婷婷| 九九伊人网| 人妻丰满精品一区二区A片| 99精品偷自拍| 亚洲AV永久无码影院黑人| 欧美色偷偷大香| 玖玖综合色区在线观看| 色综合丁香婷婷| 国产.亚洲.欧洲视频在线| 五夜丁香| 日本www五月婷婷| 狠狠综合| 久综合4| 日本一区二区三区精品视频| 久久婷网| 极品 少妇 内射| 激情性五月天免费小说视频| 亚洲在线操| 五月婷婷,六月丁香| 六月天婷婷| 五月婷婷丁香六月| 丁香激情五月少妇| 日本色噜| www.狠狠操| 超碰久热| 丁香五月婷婷综合激情啪啪啪| 色青五月天| 九月激情综合| 热99视频| 久久xxxx| 1024你懂的欧美曰韩| 91干视频| 日韩精品二三区| www久久久久久久97| 婷婷五月天基地| 国产亚洲精品久久久久久久久动漫| 九月婷婷人人操人人舔人人爱| 热久69| 丁香婷婷激情综合五月激情| 五月婷婷激情视频| 婷婷色综合| 色综合视频| 秋霞午夜理论| 丁香色五月 97干| 人妻体体内射精一区二区| 久婷首页| 这里只有精品网站| 五月丁香啪| 99五月婷| 99这里都是精品6| 久热免费| 丁香五月婷婷激情四射| 这里只有精品免费视频在线观看| 桃色五月天| 丁香五月激情啪啪啪啪| 婷婷五月情色| 激情四射五月天| 五月激情婷婷国产精品久久久久久| Av性爱网站| 日本天天色| 少妇性BBB搡BBB爽爽爽视頻| 偷偷狠狠久久婷婷五月天| 婷婷五月天狠狠搞干| 五月婷婷六月激情| 亚洲人妻AV| 五月天桃色深爱网| 亚洲图色五月天| 一二三区视频韩国| 99热精品在线观看| 天天综合久久| 深爱五月激情| 九九热这里只有精品5| 天天色宗合| 久久婷婷丁香花综合网| 五月丁香直播| 国产午夜精品一区二区三区四区| 六月丁香五月激情亚洲AV| 色玖玖爱| 五月婷色色| 99这里只有精品| 九九精品碰| 五月综合激情综合久| 色五月丁香五月| 第五婷婷伊人丁香色| 精品久久66| 黄色片久久| 久久综合热17c| 99综合免费视频| 色婷婷色情| 婷婷日欧美在线观看| 六月婷欧美丁香综合| 激情婷婷丁香色五月综合| 99免费在线视频| 亚洲久热| 女人高潮内射99精品| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 深爱婷婷丁香五月激情| 在线观看欧美3区| 99久久综合精品五月天| Www.久久| 中文字幕av在线播放| 久久久久久久久久久44| 丁香九九九九| 六月丁香啪| 色五月亚洲| 开心四月婷婷在线色播播| 97人人草| 九色色| 丁香五月 无码| 婷婷五月天堂| 六月婷婷激情| 色婷婷a| 九月婷婷久久久| 狠狠操狠狠爱| 久久久久久久11111111111| 亚洲色vA| 丁香婷婷超碰 | 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 丁香 婷婷 亚洲 熟女| 久久九九99.www| 91婷婷丁香五月| 91婷婷在线| 五月天色五月| 天天干天天操天天爽| 色你久久| 99九九这里有免费视频| 99在线免费视频| 五月丁香爱婷婷深深| 欧美电影在线播放| 五月婷婷五月色| 色啪影院| 日本三级第一页| 91免费看片| 【乱子伦】黄色| 97超美国视频在线观看| 日韩成人av在线| 五月激情综合婷婷| 激情婷婷在线中文字幕| 久热99视频在线观看| 99热精品99| 丁香久色| 大香蕉久操| 丁香五月婷婷激情97| 五月丁香六月激情| 亚洲综合五月天综合| 日韩成人综合| 丁香婷婷综合激情五月色| 99色网站| 五月综合六月丁| 色噜噜狠狠色综合成人网| 亚洲视频一区| 91狠狠综合久久久久久| 人妻精品一区二区三区| 爱婷婷五月| www.99色| 91ncm视频| 97色 五月天丁香| 色九网| www国产亚洲色婷婷com| 秋霞午夜理论| 日本超碰在线| www99久久| 色婷婷很很丝袜| 欧洲色色| 五月天婷婷社区| 婷婷五月天丁香社区| 怡红院院久久| 凹凸7777操操操| 激情爱爱网站超大免费| ady狠狠入| 亚洲精品无人区| 激情色色| VA色婷婷| 六月婷婷av| 久久婷婷综合五月天| 2025天天爽天天摸| 激情五月婷婷在线区| 99日本黄站| 五月亭大香蕉| 玖玖综合玖玖| 97久久久免费福利网址| 99视频在线啪| 日韩av网站在线观看| 亚洲精品**不卡在线播he| 日本久久网| 人妻精品一区二区三区| 五月色亚洲| 婷婷六月色开| 九九这里都是精品| 久久综合激情| 天天色粽合合合合合合合| 色五月婷婷综合| 婷婷的99视频网站| 老司机伊人| 久久久久亚洲AV无码网影音先锋| 久久天天| 色五月婷婷av| 亚洲综合另类| 99热这里只有精品9| 欧美操人| 色五月天在线观看| 99这里只有精品| 性 色 婷婷| 激情电影五月婷婷| www.五月天| 色五月丁香五月婷婷五月成人网| 五月天婷婷影院| 亚洲AV影片在线观看| 日本天堂免费99| 激情六月五月婷婷综合网| 91人无码久久久久久| 五月丁香综合在线| 久久久天天啊| 久久婷婷婷婷伊人| 91九色网| 99热色婷婷| 国产小精品| 婷婷丁香九月| 五月婷在线播放| 99久99热| 欧美另类五月激情| 丁香六月天色婷婷| 丁香五月影视| 亚洲激情电影五月天色婷婷丁香一起草 | 99九九99九九九视频精彩| 午夜亚洲国产精品av一区二区| www色色色com| 五月丁香色狠狠干大屄| 色色色热热热| 九九色热| 成人VAV视频在线观看| 婷婷激情六月综合| 天天艹夜夜爽| 超碰日日操| 狠狠操综合| 九色亚洲| AV中文在线| 色色色色色色综合| 欧日韩成人| www久久久| 色婷婷亚洲综合网站| 99色在线观看视频| 亚洲综合网激情小说| 五月综合色播播丁香婷婷| 黄色成人网站在线播放| ..真实国产乱子伦对白在线_欧| 国产色香蕉精品五夜婷| 久久亚洲色导航| 五月丁香另类图片| 影音先锋女人AA鲁色资源| 色婷婷色综合| 婷婷丁香五月视频| 婷婷五月天激情综合| 极品人妻VIDEOSSS人妻| 热99精品视频五月| 婷婷五月天婷婷| 99在线热| 欧美碰碰| 婷婷色五月天综合网| 五月丁香啪啪综合| 色婷婷人人| 天天舔夜夜操www com| 激情五月丁香亭亭| 久久女伦| 久久综合网免费视频| 五月丁香综合激情| 丁香狠狠色婷婷久久无码视频| 91狠狠综合久久| 天天谢天天操| 亚洲精品无码99热| VA五月激情在线| 色播五月综合网| 成人av在线网| 99热 免费| 超碰99久久| 婷婷99狠| 日日操,天天操| 日本色婷婷| 生活片五区| 色五月婷婷小说亚洲中文字幕组| 久久婷婷一级片| 丁香久久AV| 操骚货在线| 欧美日朝成人| 午夜免费试看| 五月婷婷99热| www色婷婷| 99玖玖在线视频| 五月天六月婷婷| 99re8热精品免费视频| 五月婷婷伊人网| 久久香蕉影院| 婷婷五月天AV激情| 免费看欧美成人A片无码| 激情深爱综合| 香蕉综合网| 五月天天天综合| 国产午夜一区二区三区| 人人干人人干骚美女| 日本久久精品| 久鲁鲁色网| 天天爽天天| 国产乱码久久| 国产毛片精品一区二区色欲黄A片| 激情美女五月天| 97在线精品| 91丨熟女丨首页| www久久久| 五月丁香婷色| 曰本久久女| 思思精品热在线| 色婷婷人人| 俺去也综合| 影音先锋91| 99热在线精品观看| 日本色噜| 色五月婷婷7777| 丁香月六月| 99免费偷拍视频| 人人操97| 丁六月激情| 1024欧美看片| 色五月天丁香婷婷| 婷婷五月天激情文学小说| 日本欧美成人片AAAA| 日日操人人操| 日韩 中文 欧美| 久色激情| 天天做天天爱天天玩夜夜爽| 日本欧美国产| 大地资源色婷婷视频在线| 五月激情网络| 色综合婷婷| 国自产拍偷拍精品啪啪一区二区| 人人妻久久妻| 久久婷婷五月天激情新地址| 影音先锋日本三级资源| 99精品在线观看视频| www,超碰| 少妇AB又爽又紧无码网站| 婷婷五月天激情亚洲小说| 六月婷婷日| 97视频91| 伊人在线婷婷草| 五月天久久激情| 日韩欧美颜射| 99免费视频网| 综合久久综合| 97人人干人人操| 婷婷久久六月天| www.cao.com久久| 99ri国产| 思思热国产在线| 成人五月丁香社区| 婷婷色色网站| 色婷婷操逼| 五月丁香婷在线| 91免费看片| 婷婷五月天天| 五月天婷婷久久| 丁香激情六月天婷婷| 无码yw| 大香蕉啪啪啪| 啊v视频在线观看| 天天日夜夜夜操操操操| 操碰99在线视频观看| 色五月在线播放| 亚洲久热无码| 五月丁香六月欧美综合| 超碰国产av| 婷婷丁香色女人| XX色综合| 激情五月天婷婷在线网址发给我| 五月激情基地| 五月天天天综合| www.婷婷,com| 久久婷婷艹| 91凹凸在线| 色情综合网| 五月天色婷好好| 免费观看亚洲AV片| 日本三级网址| 成片免费观看大全| 午夜不卡久久精品无码免费| 亚洲第一黄网| 六月婷婷综合激情| 日日狠狠久久偷偷四色综合免费| 五月丁香婷中文字幕| 国产韩日亚洲美州欧亚综合在线| 色碰干| 狠狠色狠狠色综合日日91| 超碰在线视屏| 丁香六月啪啪啪| 婷婷播5月| 国产VA亚洲VA96| 六月丁香五月亭亭| 婷婷五月天激情视频| 五月婷婷在线丁香| 六月色日韩| 超碰超碰在线| 婷婷人人操| 九九视屏| 亚洲综合999| 九月激情综合婷婷| 丁香五月久久社区| 久操97| 久色大香蕉| 丁香五月大香蕉在线99| www.ywav| 久久月天堂| 五月情涩综合婷婷| 五月丁香中文婷婷中文| 综合99久久天天综合| 综合网色综合| 婷婷五月久久| 吾爱AV导航| 七七久久婷婷| 99色日本| 91黄址| 婷婷激情五月吧| 影音先锋按摩| 丁香激情六月天婷婷| 天天干,噜噜色,狠狠色| 26UUU亚洲欧美| 亚洲综合色棒| 色色免费网站| 翔田千里aV中文字幕| 怎么样可以看免费的一级av| 亚洲热综合| 婷婷99中文字幕| 玖玖在线视| 色必久悠悠影院| httpwww色com日本| 激情综合区| 五月天婷婷六月激情网| 国产特黄色精品一区二区三区精品无广告| av色色国产| 亚洲激情亚洲激情| se色婷婷视频| 99九无网码| 青青草a在线| 另类图片五月激情| 99操99| 丁香六月 婷婷六月| 五月丁香婷婷色播无码| 九九av| 深爱五月日韩| 日本99久久| 日韩欧美成人网| 色色色婷婷五月天| 五月丁香婷婷激情澎湃四射 | 五月丁香六月停停| 韩国19 主播内部福利vip免费播放| 色色热| 91精品久久久久久综合五月天| 九九九日本熟女| 久九男女天堂| 久久人人妻| 综合五月草| 99在线爽| 色色欧美色色| 欧洲亚洲免费视频9| 激情五月丁香六月婷婷| 日本人妻A片成人免费看片| 天天干天天干天天干天天干天天干天天干天天 | 182.t午在线观看| 在线另类| 九九一综合精品| 五月婷婷三级| 98热精品| 五月天丁香婷婷网| 五月丁香成人网| 色婷婷亚洲五月天| 伊人综合网4| 久久婷婷视频| 免费AV在线网址| 7777国产盗摄农村女人| 五月丁香天堂网| 久热超碰91| 丁香五月婷婷天激情| 99热永久在线观看| 婷婷久久精品| 久久3级片| 日本一级淫| 思思热在线播放| 性天堂久久| 丁香五月乱中文字幕| 丁香五月婷婷动漫视频| 久久久97| 超碰成人在线观看| 99久热精品在线| 久久久久久婷| 少妇大叫太大太粗太爽了A片| 另类视频综合| 五月停停直播| 日本色五月| 91干| www.91婷婷| 久久综合播放| 另类五月激情| www,99色| 秋霞三及片| wwwss在线观看| 狼人婷婷综合| 九九热在线视频,| 日本乱子人伦在线视频| 五月开心婷婷网| 4399成人黄A片| 综合色网站| 五月婷婷激情中文字幕| 丁香五月天激情四射网络不好 | 性爱久久| 97成人操| 婷婷五月综合视频免费播放| 亚洲色五月天| 狠狠夜夜五月丁香| 婷婷五月婷婷| 丁香五月成人论坛| 久久大香蕉| 中文字幕丁香五月| 熟妇人妻中文字幕无码老熟妇| 日韩狠狠色婷婷| 欧美99热| 五月色欧美| 亚洲精品国产熟女久久久| oVV4WIB3vFi8D| 疯狂做受XXXX高潮A片| 思思热热久久| 丁香五月玖玖| www.99日本| 超碰在线9| 婷婷久久五月天| 伊人五月天综合网| 午夜少妇在线观看视频| 色婷婷丁香五月天在线视频| 日本在线观看99| 5月婷婷激情网| 五月丁香五月丁香五月丁香五月丁香91| 亚洲中文乱字字幕在线永久| 久热中文字幕| 99精品免费视频| 日韩六六久久电影| 丁香五月欧美婷婷| 色玖玖爱| www。狠狠干。com| 婷婷丁香大香蕉| 亚洲婷婷欧美婷婷| a色色片| 欧美交换配乱吟粗大25P| 久久思思热视频| 五月婷婷草| 色情综合| 99日韩网站| 亚洲永久免费| 香蕉久久国产AV一区二区| 婷婷五月天小说网| 99热1| 99在线精品免费视频| 久久视频在线| 五月天无码| 婷婷色色综合| 香蕉久久国产AV一区二区| 激情99。| 97色女人在线| 九九在线精品| 激情深爱五月天| 这里只有精品亚洲| 久草婷婷视频| 丁香五月天激情| 天天xxxxxx天天日| 啪啪婷婷五月天激情| 一本色道久久88加勒比| 人人摸人人| 综合热无码| 91国产精品视频播放| 涩涩涩五月天| 丁香六月无码| 大香网伊人久久综合| www.99操.com| 国产99热| 俺去也综合| 亚洲综合色网站| 五月天久久综合| 欧美性生交XXXXX无码小说| 婷婷综合亚洲| 99久久精品视频女神1| 婷婷五月激情的图片| 伊人超碰在线| 香蕉久久国产AV一区二区| 日韩精品一区二区亚洲AV观看| 日韩六六久久电影| 97九色| 日本免费91| 日本无码专区| 97av在线视频| 丁香 久久| 色色亚洲五月天| 五月社区丁香| 五月丁香色婷婷婷基地| 四季AV综合网| 色婷综合| 操操操97| 精品久久久久成人码免费动漫| 亚洲啪啪网| 九九视频这里有精品| 婷婷五月综合在线视频| 丁香五月激情婷婷视频| 久久久激情视频| 色五月自偷自拍婷婷婷婷| 五月丁香亚州综合网| 婷婷在线中文字幕| 天天做天天爱天天高潮| 女婷久久| 99这里有精品视频| 看片视频在线免费日产在线看| 色五月激情基地| 五月婷综合性中心| 亚洲精品乱码久久久久久按摩观| 久久免费精品小视频| 丁香婷婷综合激情五月色| 99草视频在线观看| 97自拍视频网| 91超级碰人人操| 9九九久久精品无码专区| 久久久久久五月天| 97人人操人人干| 综合色播| 性无码专区无码| av九九| 欧美成人AAA片一区国产精品| 九九亚洲| 激情内射人妻1区2区3区| 丁香五月婷婷啪啪| 极品人妻VIDEOSSS人妻| 午夜成人片400| 超碰婷婷色| 成人久碰| 激情啪啪五月天| 手机旧版看人妻1025| 色99婷婷五月天| www.91.com黄| 啊V视频在线观看| 这里只有精品视频222| 99久热| 五月开心六月婷婷在线播放网站| 99 频99热国里只有精品| 国产一级婬片毛片| 天堂AV在线看| 99热精品在线| 丁香五月伊人| 久草热8精品视频在线观看| 91丁香色| 婷婷丁香五月基地| 天天久久狠狠色综合| 99成人网一区| 久久久五月婷婷| 996日日爱| 玖玖爱综合网| 无码免费人妻A片AAA毛片西瓜| 国产做A爰片毛片A片美国| 色色色色色九九九九九| 99热99| 激情网站五月| 能看的av片| 66色在线日韩| 色综合久久天天综合网| 国产精产国品一二三在观看| 丁香五月天社区婷婷| 五月99久久| 婷婷六月爽| 天天做天天爱天天玩夜夜爽| 狠狠色噜噜狠狠狠狠综合| 丁香五月天电影| 色色色宗合网| 高清a片基地| 色情五月综合婷婷| 国色天香伊人狠狠色| 91精品久久久久、久五月天| 99精彩视频| 真实的国产乱XXXX在线91| 午夜成人网站在线观看| 亚洲综合视频天天精品| 这里只有精品2| 91人操| 荫道BBWBBB高潮潮喷| 996精品热视频| 99热这里只有精品10| 性色天| 丁香五月婷婷啪啪| 人人干女人| 激情五月深爱五月观看| 五月天天爱| 国产伦亲子伦亲子视频观看| 东京热人妻一区二区三区在线| 欧美狠狠草| 99热精品在线播放| 欧美性生交XXXXX无码小说| 嫩BBB搡BBBB榛BBBB| 日本一级一片免费视频| 色婷婷五月综合网| 欧美操人| 97欧美在线| 国熟女视频| 成人va在线播放| 亚洲综合网在线| 色五月天.con| 日本一级一片免费视频| 久久综合99综合| 丁香五月天无码AV| 日日夜夜天天综合| 精品成人在线| 91成人看片| 色婷婷五月在线| 亚洲偷| 激情五月深爱五月| 人妻综合网| 五月天色欧美| 五月天成人在线播放丁香| 国产超碰在线| 99操中文视频| 婷婷激情在线| 爆乳熟女-区二区三区| 色婷婷五月亚洲| 无码AV免费精品一区二区三区| 色v综合网| 婷婷色六月| 国产在线网址1| 婷婷免费无视频| 激情五月丁香五月| 色婷婷五月综合在线| 婷婷免费视频| 欧美A A A A A| 五月天婷婷永久免费视频| 久久婷婷啪啪视频| 超碰91人人操| 精品人人操| 激情九色| 中文字幕av在线播放| www免费在线视频| 2025天天爽天天摸| 中文字幕乱码亚洲精品一区| 人人玩人人橾| 色色无码| ss五月天激情| 思思久久99热只有频精品66| 丁香五月日啪| 性爱综合网| 五月综合777| 精品人妻伦一二三区久久| 99热这里只有精品在线免费| 九九精品热| 丁香五月花婷婷开心| 欧美99热| 99久久免费性爱视频`| 中文字幕在线日亚州9| 99爱在线| 国产精品a无线| 激情综合网激情五月欧美| 色五月亚洲| 色五月久久成人婷婷| 成人亚洲精品久久久久| 99色播| 操婷婷基地| 国产精产国品一二三在观看| 夜夜骑夜夜操| 91欧美| 色激情五月| 噜噜狠狠色综合久| 五月天综合色| 国产精品五月天婷婷| 淫水导航| 狠狠擼综合| 五月丁香少妇A| 五月婷婷色男女| 五月婷俺去也| a色色色色色| 婷婷五月天在线看| 影音先锋色婷婷| 中文字幕av久久爽一区| 97亚洲婷婷| 欧美视频五区| 色色色婷婷五月天| 日本色久| 97干免费视频| 五月丁香狠狠爱| 啊V视频在线观看| www.zbzhongsen.com| 热99精品视频五月| 超碰成人电影| 青青草原中文字幕| 婷婷五月小说色综合| 久久五月视频| 六月婷五月丁香| 狠狠草婷婷| 狠狠狠五月婷婷六月丁香| 狠狠操在线视频| 99视频网| 色综合色| 欧美日韩成人在线网| 色婷婷伊人| 久久久免费精彩视频| 九九热在线精品| 少妇高潮A片无套内谢麻豆传| 国产毛片精品一区二区色欲黄A片 国产人妻777人伦精品HD | 人妻日日日| 久婷婷久草| 东京热免费视频网站| 丁香五月天狠狠操| 伊人久久婷婷| 亚洲视频丁香网va| 天天爽曰日爽| 久机视频这只有精品| 性天天中文网| 欧美精品18| 五月天精品视频| 亚洲午夜AV| www天堂99| 九九精品亚洲| 成人国产综合| 激情网狠狠干| 可以看的AV网站| 99热精品观看| AV中文在线| 精品视频二级九九| 五月婷综合激情| 91综合国免费久入| 九九伊人网| 狠狠色激情在线| 玖玖资源在线视频| 丁香婷婷91在线观看视频| 亚洲永久四色| 色情播放| 热99在线| 五月激情小说| 丁香五月 性爱| 亚洲婷婷基地| 五月天小说激情| 婷婷在线激情| 26uuu精品一区二区| 99丁香五月| 亚洲成人AV在线观看| 亚洲人人96@| 26uuu成人网| 久热超碰| 久久性爱激情| a色色色色色| 99热这里只有精品免费观看| 亚洲av成人在线| 成人免费黄色短视频| 丁香六月激情| 激情网第四色| 超碰二区| 精品日本视频444| 伊人色综合影院视频| 亚洲 激情 中文| 天天噪夜夜爽| 色婷婷五月天在线观看| 激情综合五月| 精品久久婷婷| 激情开心五月婷婷| 2020日日干| 九九九九九999999| 手机旧版看人妻1025| 99热首页在线30| 精品在线网站| 99热免费| 狠狠99| 婷婷激情5月| 在线观看中文字幕| 色综合婷婷99| 九九热只有精品6| 婷婷色操| 五月婷婷色欲| 久久五月婷婷电影| 五月六月丁香激情| 亚洲欧美成人在线| 91视频五月丁香| 色久综合天天做视频| 色色射| 久久99精品久久久久久三级| 色五月激情基地| 日日夜夜婷婷| 五月激情婷婷国产精品久久久久久| 激情丁香五月激情婷婷| 婷婷五月天久久| 成人免费视频一区| 色婷婷丁香五月天激情综合网| 色欲av伊人久久大香线蕉影院| 丁香五月婷婷综合激情啪啪啪| 五月丁香六月日逼| 日本久久性| 99热一本久道| 色欲天天综合| 另类小说五月天| 97在线精品| 亚洲成人高清在线| 91干99| 99爱免费视频在线观看| 婷婷五月综合激情| 婷婷综合| 成人在线视频一区| 免费看片在线观看| 天天干天天爽天天操| 97色婷婷| 秋霞黄色一级久久| 六月 丁香 视频| 婷婷六月综合| 开心五月深爱五月| www99精品亚| 99久久综合网| 一起草Av| 伊人色综合影院视频| 日韩日比视频在线| 丁香五月婷中字在线| 婷香五月网在线| 欧美婷婷综合| 婷婷综合国产| 丁香五月综合在线播放| 九九热AV| 日本啪啪天堂| 生活片五区| 99热欧美偷拍| 98永久精品| 色婷婷综合综合网| 91超级碰在线视频| 九九热婷婷| 国产精品国产| w婷婷五月婷婷w| 看全色黄大色大片| 久久刺激网| 三级三久久线久久99久目本WW| 欧美色色色色色| 九九热中文| 婷婷综合久久| 成人丁香五月| 丁香女人五月天| 无码免费人妻A片AAA毛片西瓜| 激情丁香淫荡婷婷| 这里只有精品96| 色高清无码视频| 久久久久9久无码视频| 久久人妻视步| 久久久噜噜噜www成人| 人人操AV| 51XX午夜影福利| 激情另类综合| 热九九精品| 国庆精品久久| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 亚洲天天综合| www色综合亚洲92| 一区视频网站| 色噜噜狠狠色综合AV兰草影视| 另类激情中文| 婷婷五月免费观看| 色九月综合| 高清无码视频网址| 任你搞网站| 丁香五月激情五月| 岛国av网| 色天使久久综合| 丁香婷婷九月| 激情婷婷丁香五月天小说| 九九热AV| 亚洲mm色| 国产黄色av| 99精品久久久| 思思99热热热99| 日木WWW视频| 丁香在线视频| 99噜噜噜在线播放| 中文字幕按摩做爰| 五月天色社区| 91一起操| 久久综合九色综合97婷婷| 九九免费精品| 99久在线视频| 欧美色综合天天久久综合精品| 琪琪秋霞| 色婷婷丁香网| 九九热最新视频| 91精品国产综合久久密臀| 97伦色婷婷| 婷婷激情五月| 台湾佬天天日丁香婷婷五月天| 色色色97| www.天天干| 日日日天天干| 伊人网欧美在线男人天堂五月丁香| 久久无码成人| 黄网在线观看免费| 婷婷五月天激情综合| 啪精品| 久久草大香蕉| 激情丁香图片| 五月丁香美女| 九九九九九九综合| 丁香五月激情综合|