色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是mqttclient

汽車(chē)電子技術(shù) ? 來(lái)源:物聯(lián)網(wǎng)IoT開(kāi)發(fā) ? 作者:杰杰mcu ? 2023-02-14 10:48 ? 次閱讀

01

前言

我可能是最懶的半吊子程序員博主了 ,從過(guò)年到現(xiàn)在,將近2個(gè)月了,沒(méi)發(fā)過(guò)一篇文章,但公眾號(hào)每天都有新增的兄弟姐妹關(guān)注,非常感謝大家的信任,我呢,就做好自己的事情,該干嘛干嘛,文章嘛,偶爾抽空寫(xiě)一下發(fā)一發(fā),相對(duì)于寫(xiě)文章,我更喜歡看書(shū)和寫(xiě)代碼呢,我每天都有寫(xiě)代碼的,這不,今天給大家?guī)?lái)一份商業(yè)級(jí)穩(wěn)定性的代碼——mqttclient。

02

關(guān)于mqttclient的誕生

談?wù)勥@份代碼的誕生緣由吧! 從上一年的5月份左右吧,我花了一個(gè)多星期去移植阿里的SDK,想要將它用起來(lái),但是奈何一直沒(méi)能用成功,歸根結(jié)底我還是太菜了,10月份分析完了騰訊的SDK中的MQTT協(xié)議部分的代碼,我就想自己寫(xiě)一個(gè)好用的代碼,要非常簡(jiǎn)單API接口,還要有很好的穩(wěn)定性,然后嘛,也是為開(kāi)源做貢獻(xiàn),希望有緣人能簡(jiǎn)單快速用起來(lái),都說(shuō)程序員有些奇奇怪怪的理想,且不說(shuō)改變世界吧,像我這種,我是很希望某些產(chǎn)品中能跑著我寫(xiě)的代碼,即使我無(wú)緣知道甚至遇見(jiàn)它。。。

兜兜轉(zhuǎn)轉(zhuǎn),從11月份開(kāi)始設(shè)計(jì)框架,LwIP的源碼與阿里的SDK框架給了我很大的影響,所以整體的設(shè)計(jì)框架都采用分層設(shè)計(jì),此外騰訊的SDK呢讓我決定了使用異步處理的思想來(lái)設(shè)計(jì)整個(gè)代碼,然后設(shè)計(jì)完整體框架之后就愉快地板磚了,沒(méi)錯(cuò),是愉快地!寫(xiě)代碼其實(shí)是很好玩的事情,特別是當(dāng)年的想法可以實(shí)現(xiàn)的時(shí)候,遇到不懂的時(shí)候有資料,有人討論,在此特別感謝幾位網(wǎng)上的好基友,在大半夜的還與我討論,解答我的問(wèn)題~非常nice。

03

介紹一下mqttclient

這一個(gè)基于socket API之上的跨平臺(tái)MQTT客戶(hù)端,擁有非常簡(jiǎn)潔的API接口,以極少的資源實(shí)現(xiàn)QOS2的服務(wù)質(zhì)量,并且無(wú)縫銜接了mbedtls加密庫(kù)。

04

談?wù)剝?yōu)勢(shì)

  • 基于標(biāo)準(zhǔn)BSD socket之上開(kāi)發(fā) ,只要是兼容BSD socket的系統(tǒng)均可使用。
  • 穩(wěn)定 :無(wú)論是掉線重連丟包重發(fā),都是嚴(yán)格遵循MQTT協(xié)議標(biāo)準(zhǔn)執(zhí)行,除此之外對(duì)大數(shù)據(jù)量的測(cè)試無(wú)論是收是發(fā),都是非常穩(wěn)定(一次發(fā)送135K數(shù)據(jù),3秒一次),高頻測(cè)試也是非常穩(wěn)定(7個(gè)主題同時(shí)收發(fā),每秒一次,也就是1秒14個(gè)mqtt報(bào)文,服務(wù)質(zhì)量QoS0、QoS1、QoS2都有)。因?yàn)樽髡咭詷O少的資源設(shè)計(jì)了記錄機(jī)制,對(duì)采用QoS1服務(wù)質(zhì)量的報(bào)文必須保證到達(dá)一次,當(dāng)發(fā)布的主題(qos1、qos2都適用)沒(méi)有被服務(wù)器收到時(shí)會(huì)自動(dòng)重發(fā),而對(duì)QoS2服務(wù)質(zhì)量的報(bào)文保證有且只有處理一次(如果不相信它穩(wěn)定性的同學(xué)可以自己去修改源碼,專(zhuān)門(mén)為QoS2服務(wù)質(zhì)量去做測(cè)試,故意不回復(fù)PUBREC包,讓服務(wù)器重發(fā)QoS2報(bào)文,且看看客戶(hù)端是否有且只有處理一次),而對(duì)于掉線重連的穩(wěn)定性,這種則是基本操作了,沒(méi)啥好說(shuō)的,在自動(dòng)重連后還會(huì)自動(dòng)重新訂閱主題,保證主題不會(huì)丟失,因此在測(cè)試中穩(wěn)定性極好。
  • 輕量級(jí) :整個(gè)代碼工程極其簡(jiǎn)單,不使用mbedtls情況下,占用資源極少,作者曾使用esp8266模組與云端通信,整個(gè)工程代碼消耗的RAM不足15k(包括系統(tǒng)占用的開(kāi)銷(xiāo),對(duì)數(shù)據(jù)的處理開(kāi)銷(xiāo),而此次還是未優(yōu)化的情況下,還依舊完美保留了掉線重連的穩(wěn)定性,但是對(duì)應(yīng)qos1、qos2服務(wù)質(zhì)量的報(bào)文則未做測(cè)試,因?yàn)?a href="http://www.1cnz.cn/v/tag/751/" target="_blank">STM32F103C8T6芯片資源實(shí)在是太少了,折騰不起)。
  • 無(wú)縫銜接mbedtls加密傳輸 ,讓網(wǎng)絡(luò)傳輸更加安全,而且接口層完全不需要用戶(hù)理會(huì),無(wú)論是否加密,mqttclient對(duì)用戶(hù)提供的API接口是沒(méi)有變化的,這就很好的兼容了一套代應(yīng)用層的碼可以加密傳輸也可以不加密傳輸。
  • 擁有極簡(jiǎn)的API接口 ,總的來(lái)說(shuō),mqttclient的配置都有默認(rèn)值,基本無(wú)需配置都能使用的,也可以隨意配置,對(duì)配置都有健壯性檢測(cè),這樣子設(shè)計(jì)的API接口也是非常簡(jiǎn)單。
  • 有非常好的代碼風(fēng)格與思想 :整個(gè)代碼采用分層式設(shè)計(jì),代碼實(shí)現(xiàn)采用異步處理的思想,降低耦合,提高性能,具體體現(xiàn)在什么地方呢?很簡(jiǎn)單,目前市面上很多MQTT客戶(hù)端發(fā)布主題都是要阻塞等待ack,這是非常暴力的行為,阻塞當(dāng)前線程等待服務(wù)器的應(yīng)答,那如果我想要發(fā)送數(shù)據(jù)怎么辦,或者我要重復(fù)檢測(cè)數(shù)據(jù)怎么辦,你可能會(huì)說(shuō),指定阻塞時(shí)間等待,那如果網(wǎng)絡(luò)延遲,ack遲遲不來(lái),我就白等了嗎,對(duì)于qos1、qos2的服務(wù)質(zhì)量怎么辦,所以說(shuō)這種還是要異步處理的思想,我發(fā)布主題,那我發(fā)布出去就好了,不需要等待,對(duì)于qos1、qos2服務(wù)質(zhì)量的MQTT報(bào)文,如果服務(wù)器沒(méi)收到,那我重發(fā)就可以,這種重發(fā)也是異步的處理,完全不會(huì)阻塞當(dāng)前線程。
  • MQTT協(xié)議支持主題通配符“#”、“+”。
  • 訂閱的主題與消息處理完全分離 ,讓編程邏輯更加簡(jiǎn)單易用,用戶(hù)無(wú)需理會(huì)錯(cuò)綜復(fù)雜的邏輯關(guān)系。
  • mqttclient內(nèi)部已實(shí)現(xiàn)?;钐幚頇C(jī)制 ,無(wú)需用戶(hù)過(guò)多關(guān)心理會(huì),用戶(hù)只需專(zhuān)心處理應(yīng)用功能即可。
  • 無(wú)縫銜接salof: 它是一個(gè)同步異步日志輸出框架,在空閑時(shí)候輸出對(duì)應(yīng)的日志信息,也可以將信息寫(xiě)入flash中保存,方便調(diào)試。
  • 不對(duì)外產(chǎn)生依賴(lài)。

05

mqttclient整體框架

擁有非常明確的分層框架。

圖片

06

mqttclient適配的平臺(tái)

目前已實(shí)現(xiàn)了Linux、TencentOS tiny、RT-Thread平臺(tái)(已做成軟件包,這個(gè)名字比較騷氣,叫kawaii-mqtt( 卡哇伊?( ′???` )****)),除此之外TencentOS tiny的AT框架亦可以使用(RAM消耗不足15K),并且穩(wěn)定性極好!歡迎下載并且測(cè)試。

平臺(tái) 代碼位置
Linux https://github.com/jiejieTop/mqttclient
TencentOS tiny https://github.com/Tencent/TencentOS-tiny/tree/master/board/Fire_STM32F429
TencentOS tiny AT 框架 https://github.com/jiejieTop/gokit3-board-mqttclient
RT-Thread https://github.com/jiejieTop/kawaii-mqtt

07

mqttclient測(cè)試(Linux平臺(tái))

1. 安裝cmake

sudo apt-get install cmake

2. 配置連接參數(shù)

mqttclient/test/test.c文件中修改以下內(nèi)容:

init_params.connect_params.network_params.network_ssl_params.ca_crt = test_ca_get();    /* CA證書(shū) */
    init_params.connect_params.network_params.addr = "xxxxxxx";                             /* 服務(wù)器域名 */
    init_params.connect_params.network_params.port = "8883";                                /* 服務(wù)器端口號(hào) */
    init_params.connect_params.user_name = "xxxxxxx";                                       /* 用戶(hù)名 */
    init_params.connect_params.password = "xxxxxxx";                                        /* 密碼 */
    init_params.connect_params.client_id = "xxxxxxx";                                       /* 客戶(hù)端id */

3. 編譯運(yùn)行

./build.sh

運(yùn)行build.sh腳本后會(huì)在 ./build/bin/目錄下生成可執(zhí)行文件mqtt-client,直接運(yùn)行即可。


08

mqttclient的配置

mbedtls

默認(rèn)不打開(kāi)mbedtls,當(dāng)然只需要配置一個(gè)宏定義即可打開(kāi)mbedtls加密。

salof

salof 全稱(chēng)是:Synchronous Asynchronous Log Output Framework(同步異步日志輸出框架),它是一個(gè)同步異步日志輸出框架,在空閑時(shí)候輸出對(duì)應(yīng)的日志信息,并且該庫(kù)與mqttclient無(wú)縫銜接。

配置對(duì)應(yīng)的日志輸出級(jí)別:

#define BASE_LEVEL      (0)
#define ASSERT_LEVEL    (BASE_LEVEL + 1)            /* 日志輸出級(jí)別:斷言級(jí)別(非常高優(yōu)先級(jí)) */
#define ERR_LEVEL       (ASSERT_LEVEL + 1)          /* 日志輸出級(jí)別:錯(cuò)誤級(jí)別(高優(yōu)先級(jí)) */
#define WARN_LEVEL      (ERR_LEVEL + 1)             /* 日志輸出級(jí)別:警告級(jí)別(中優(yōu)先級(jí)) */
#define INFO_LEVEL      (WARN_LEVEL + 1)            /* 日志輸出級(jí)別:信息級(jí)別(低優(yōu)先級(jí)) */
#define DEBUG_LEVEL     (INFO_LEVEL + 1)            /* 日志輸出級(jí)別:調(diào)試級(jí)別(更低優(yōu)先級(jí)) */

#define         LOG_LEVEL                   WARN_LEVEL      /* 日志輸出級(jí)別 */

日志其他選項(xiàng):

mqttclient的基本配置

配置mqtt等待應(yīng)答列表的最大值,對(duì)于qos1 qos2服務(wù)質(zhì)量有要求的可以將其設(shè)置大一點(diǎn),當(dāng)然也必須資源跟得上,它主要是保證qos1 qos2的mqtt報(bào)文能準(zhǔn)確到達(dá)服務(wù)器。

#define     MQTT_ACK_HANDLER_NUM_MAX            64

選擇MQTT協(xié)議的版本,默認(rèn)為4,表示使用MQTT 3.1.1版本,而3則表示為MQTT 3.1版本。

#define     MQTT_VERSION                        4           // 4 is mqtt 3.1.1

設(shè)置默認(rèn)的?;顣r(shí)間,它主要是保證MQTT客戶(hù)端與服務(wù)器的保持活性連接,單位為 秒 ,比如MQTT客戶(hù)端與服務(wù)器100S沒(méi)有發(fā)送數(shù)據(jù)了,有沒(méi)有接收到數(shù)據(jù),此時(shí)MQTT客戶(hù)端會(huì)發(fā)送一個(gè)ping包,確認(rèn)一下這個(gè)會(huì)話是否存在,如果收到服務(wù)器的應(yīng)答,那么說(shuō)明這個(gè)會(huì)話還是存在的,可以隨時(shí)收發(fā)數(shù)據(jù),而如果不存在了,就清除會(huì)話。

#define     MQTT_KEEP_ALIVE_INTERVAL            100         // unit: second

默認(rèn)的命令超時(shí),它主要是用于socket讀寫(xiě)超時(shí),在MQTT初始化時(shí)可以指定:

#define     MQTT_DEFAULT_CMD_TIMEOUT            4000

默認(rèn)主題的長(zhǎng)度,主題是支持通配符的,如果主題太長(zhǎng)則會(huì)被截?cái)啵?/p>

#define     MQTT_TOPIC_LEN_MAX                  64

默認(rèn)的算法數(shù)據(jù)緩沖區(qū)的大小,如果要發(fā)送大量數(shù)據(jù)則修改大一些,在MQTT初始化時(shí)可以指定:

#define     MQTT_DEFAULT_BUF_SIZE               1024

線程相關(guān)的配置,如線程棧,線程優(yōu)先級(jí),線程時(shí)間片等:

在linux環(huán)境下可以是不需要理會(huì)這些參數(shù)的,而在RTOS平臺(tái)則需要配置,如果不使用mbedtls,線程棧2048字節(jié)已足夠,而使用mbedtls加密后,需要配置4096字節(jié)以上。

#define     MQTT_THREAD_STACK_SIZE              2048    // 線程棧
#define     MQTT_THREAD_PRIO                    5       // 線程優(yōu)先級(jí)
#define     MQTT_THREAD_TICK                    50      // 線程時(shí)間片

默認(rèn)的重連時(shí)間間隔,當(dāng)發(fā)生掉線時(shí),會(huì)以這個(gè)時(shí)間間隔嘗試重連:

#define     MQTT_RECONNECT_DEFAULT_DURATION     1000

其他不需要怎么配置的東西:

#define     MQTT_MAX_PACKET_ID                  (0xFFFF - 1)    // mqtt報(bào)文id
#define     MQTT_MAX_CMD_TIMEOUT                20000           //最大的命令超時(shí)參數(shù)
#define     MQTT_MIN_CMD_TIMEOUT                1000            //最小的命令超時(shí)參數(shù)

ps:以上參數(shù)基本不需要怎么配置的,直接用即可~

09

mqttclient設(shè)計(jì)思想

設(shè)計(jì)思想

  • 整體采用分層式設(shè)計(jì),代碼實(shí)現(xiàn)采用異步設(shè)計(jì)方式,降低耦合。
  • 消息的處理使用回調(diào)的方式處理:用戶(hù)指定[訂閱的主題]與指定[消息的處理函數(shù)]
  • 不對(duì)外產(chǎn)生依賴(lài)

方便大家更容易理解mqttclient的代碼與設(shè)計(jì)思想,讓大家能夠修改源碼與使用,還可以提交pr或者issues,開(kāi)源的世界期待各位大神的參與,感謝!

除此之外以下代碼的記錄機(jī)制與其超時(shí)處理機(jī)制是非常好的編程思想,大家有興趣一定要看源代碼!

不是所有人都喜歡看代碼的,整個(gè)mqttclient的實(shí)現(xiàn)在今天的第二篇推文中講解,此處就不再多說(shuō)了,源碼地址是:https://github.com/jiejieTop/mqttclient。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    403

    瀏覽量

    17504
  • LwIP
    +關(guān)注

    關(guān)注

    2

    文章

    86

    瀏覽量

    27213
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1037

    瀏覽量

    45991
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)MQTT示例程序不能連接到broker是什么原因?怎么解決?

    failed運(yùn)行http://m2m.demos.ibm.com/mqttclient/提示 Failed to connect to messagesight.ibm.com:1883請(qǐng)問(wèn)是我設(shè)置有問(wèn)題嗎?還是 http://m2m.demos.ibm.com 這個(gè)現(xiàn)在不能用了?謝謝!
    發(fā)表于 06-07 03:56

    制作自己的wifi開(kāi)關(guān) ESP8266 lua開(kāi)發(fā)連接本地emqtt服務(wù)器實(shí)現(xiàn)遠(yuǎn)程控制

    ;quot; ClientPublishTopic = "111"MqttClient=mqtt.Client(Clientid,3,MqttUserName
    發(fā)表于 11-07 22:24

    【鈦極小龜試用體驗(yàn)】阿里云物聯(lián)網(wǎng)云端通訊及控制實(shí)驗(yàn)

    (USER_NAME); System.err.println(USER_PASS); connOpts.setAutomaticReconnect(true); MqttClient mqttClient
    發(fā)表于 11-21 11:05

    在鴻蒙系統(tǒng)上使用MQTT編程

    的軟件包,相關(guān)github鏈接如下:https://gitee.com/qidiyun/harmony_mqtt 這里提供一個(gè)簡(jiǎn)單的編程示例:這里我們使用MQTTClient編程模型,他支持多任務(wù)
    發(fā)表于 11-18 17:14

    【睿賽德 RW007 WiFi 模塊試用連載】在正點(diǎn)原子F407探索者上的MQTT網(wǎng)關(guān)

    rt_thread_t app_mqtt_thread = RT_NULL;/* 定義一個(gè)MQTT客戶(hù)端結(jié)構(gòu)體 */static MQTTClient client;/* 收到訂閱的"
    發(fā)表于 07-19 22:43

    求助,pahomqtt編譯時(shí)提示缺少pipe是什么情況?

    packages/pahomqtt-latest/MQTTClient-RT/paho_mqtt_pipe.c:363:16: error: 'MQTTClient {aka struct
    發(fā)表于 05-10 09:42

    mqtt線程卡死導(dǎo)致publish消息無(wú)反應(yīng)是什么原因?qū)е碌模?/a>

    \x00",6); if(!MqttClient.isonline){LOG_E("Wait MQTT Connect"); } while
    發(fā)表于 05-24 15:14

    分享一下mqttclient的設(shè)計(jì)與實(shí)現(xiàn)方式

    設(shè)計(jì)思想整體采用分層式設(shè)計(jì),代碼實(shí)現(xiàn)采用異步設(shè)計(jì)方式,降低耦合。消息的處理使用回調(diào)的方式處理:用戶(hù)指定訂閱的主題與指定消息的處理函數(shù)。不依賴(lài)外部任何文件。API接口mqttclient擁有非常簡(jiǎn)潔
    發(fā)表于 08-09 11:27

    MQTT協(xié)議與百度天工物接入連接并進(jìn)行通信

    ,然后點(diǎn)擊連接。在連接成功后,可以添加訂閱的主題名字,向指定的主題發(fā)送內(nèi)容:手動(dòng)安裝相關(guān)的依賴(lài)包這些依賴(lài)包是使用mqttclient庫(kù)去連接百度云時(shí)必須要安裝的。sudo apt-get -y
    發(fā)表于 08-09 11:34

    使用w5500 kawaii-mqtt時(shí)需要注意的一個(gè)點(diǎn)

    記錄使用jiejie mqttclient遇到的問(wèn)題,先吐槽下rtt目前的mqtt組件包,都經(jīng)不起推敲,umqtt感覺(jué)很不錯(cuò),可惜作者因?yàn)橐恍┰蛞膊痪S護(hù)了。差點(diǎn)就想試著移植esp-idf里面
    發(fā)表于 09-05 16:39

    mymqtt軟件包和SAL同時(shí)打開(kāi)時(shí)編譯報(bào)錯(cuò)咋辦?

    mymqtt和SAL時(shí),編譯報(bào)錯(cuò),如下:../packages/mymqtt-latest/MQTTClient-C/mqtt_client.c:270:17: error: storage size of 'so_linger' isn't known當(dāng)把SAL關(guān)閉時(shí),編譯正常,并且mqtt的功能也能正常使用
    發(fā)表于 02-03 14:24

    NodeMCU ESP8266上的pinMode導(dǎo)致循環(huán)啟動(dòng)錯(cuò)誤如何解決?

    temp;float hum;AsyncMqttClient mqttClient;Ticker mqttReconnectTimer;WiFiEventHandler wifiConnectHandler
    發(fā)表于 02-21 08:23

    MQTT如何退出重新連接循環(huán)?

    () { /* 循環(huán)直到我們重新連接 */ while (!mqttClient.connected()) { /*#ifdef SERIAL_DEBUG*/ Serial.print(\"
    發(fā)表于 04-28 06:40

    mqttclient跨平臺(tái)MQTT客戶(hù)端

    ./oschina_soft/gitee-mqttclient.zip
    發(fā)表于 06-21 11:55 ?1次下載
    <b class='flag-5'>mqttclient</b>跨平臺(tái)MQTT客戶(hù)端

    MQTT在線代碼生產(chǎn)工具

    mqttclient代碼生產(chǎn)工具主要是用于配置MQTT的參數(shù),并且生成相應(yīng)的代碼,因?yàn)槭强梢暬呐渲?,極易使用。
    的頭像 發(fā)表于 02-28 16:09 ?1800次閱讀
    MQTT在線代碼生產(chǎn)工具
    主站蜘蛛池模板: WWW国产精品人妻一二三区| 特级毛片内射WWW无码| 日韩影院久久| 亚洲中文字幕无码爆乳APP| 超碰caoporn| 久久vs国产| 天堂岛www| av av在线| 久久久久久久99精品免费观看| 四虎影视国产精品亚洲精品hd| 99国产视频| 九九精品久久| 色欲AV人妻精品麻豆AV| 97夜夜澡人人爽人人模人人喊| 果冻传媒2021精品影视| 色婷婷欧美在线播放内射| 97超级碰久久久久香蕉人人| 国偷自产视频一区二区99 | 国产综合18久久久久久软件| 日本一本免费线观看视频| 777米奇色狠狠俺去啦| 精选国产AV精选一区二区三区| 天天啪免费视频在线看| wwwxxc| 麻豆乱码一卡二卡三卡视频| 亚洲欧美一区二区三区蜜芽| 国产精品96久久久久久AV网址| 青青青国产依人精品视频| 最近免费中文字幕MV在线视频3| 国内精自品线一区91| 无限资源日本2019版免费| 高清欧美性猛交xxxx黑人猛交| 欧美人xxxxx| 69丰满少妇AV无码区| 久久成人a毛片免费观看网站| 亚洲qingse中文字幕久久| 国产成人免费| 色悠久久综合| 港台三级大全| 日本人的xxxxxxxxx69| AV久久久囯产果冻传媒|