日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

MQTT客户端程序的编写

發布時間:2023/12/14 c/c++ 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MQTT客户端程序的编写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言??

?在前面《MQTT服務器的搭建》一文中,我們介紹了EMQX。打開其幫助文檔,我們可以看到:

很開心,作為一個主流的Qt軟件開發者,看到了熟悉的基于Qt框架的MQTT客戶端。你可以直接下載下來,按照說明文檔編譯、運行和測試。當然,也可以看下面的介紹,咱們自己寫一個簡單的MQTT程序,實現發布和訂閱消息即可。

二、QtMQTT?項目

1、庫文件下載、編譯和鏈接

Qt開發MQTT程序有兩種方式,一個是Qt官方提供的基于MQTT的封裝,一個是第三方(EMQ)開發的用于Qt調用MQTT的接口。我們只介紹第一種,基于Qt官方提供的封裝來使用MQTT。

Qt官方雖然在2017年就已經提供了對MQTT的封裝,但是并沒有正式加入到Qt的標準庫里面,所以需要自己下載源碼進行編譯。

Qt官方介紹文檔地址:https://doc.qt.io/QtMQTT/qtmqtt-index.html

Qt官方在github上提供了源代碼,地址:https://github.com/qt/qtmqtt

編譯項目,可以得到我們需要的Qt5Mqtt.dll 及Qt5Mqtt.lib 庫文件。

在Qt中,我們只需要在.pro文件中添加該庫文件的鏈接路徑即可。

其次,請記得將你的QtMqtt項目文件夾拷貝到 你指定的編譯器下 include文件夾中(如果已經存在請忽略)。如下圖

?2、客戶端項目程序編寫

在自己編寫之前,我們先看一下

/****************************************************************************** ** ** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtMqtt module. ** ** $QT_BEGIN_LICENSE:GPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 or (at your option) any later version ** approved by the KDE Free Qt Foundation. The licenses are as published by ** the Free Software Foundation and appearing in the file LICENSE.GPL3 ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ******************************************************************************/#ifndef QTMQTTCLIENT_H #define QTMQTTCLIENT_H#include <QtMqtt/qmqttglobal.h> #include <QtMqtt/qmqttauthenticationproperties.h> #include <QtMqtt/qmqttconnectionproperties.h> #include <QtMqtt/qmqttpublishproperties.h> #include <QtMqtt/qmqttsubscription.h> #include <QtMqtt/qmqttsubscriptionproperties.h> #include <QtMqtt/qmqtttopicfilter.h>#include <QtCore/QIODevice> #include <QtCore/QObject> #include <QtCore/QSharedPointer> #include <QtNetwork/QTcpSocket>QT_BEGIN_NAMESPACEclass QMqttClientPrivate;class /*Q_MQTT_EXPORT*/ QMqttClient : public QObject { public:enum TransportType {IODevice = 0,AbstractSocket,SecureSocket};enum ClientState {Disconnected = 0,Connecting,Connected};enum ClientError {// Protocol statesNoError = 0,InvalidProtocolVersion = 1,IdRejected = 2,ServerUnavailable = 3,BadUsernameOrPassword = 4,NotAuthorized = 5,// Qt statesTransportInvalid = 256,ProtocolViolation,UnknownError,Mqtt5SpecificError};enum ProtocolVersion {MQTT_3_1 = 3,MQTT_3_1_1 = 4,MQTT_5_0 = 5};private:Q_OBJECTQ_ENUMS(ClientState)Q_ENUMS(ClientError)Q_PROPERTY(QString clientId READ clientId WRITE setClientId NOTIFY clientIdChanged)Q_PROPERTY(QString hostname READ hostname WRITE setHostname NOTIFY hostnameChanged)Q_PROPERTY(quint16 port READ port WRITE setPort NOTIFY portChanged)Q_PROPERTY(quint16 keepAlive READ keepAlive WRITE setKeepAlive NOTIFY keepAliveChanged)Q_PROPERTY(ProtocolVersion protocolVersion READ protocolVersion WRITE setProtocolVersion NOTIFY protocolVersionChanged)Q_PROPERTY(ClientState state READ state WRITE setState NOTIFY stateChanged)Q_PROPERTY(ClientError error READ error WRITE setError NOTIFY errorChanged)Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged)Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)Q_PROPERTY(bool cleanSession READ cleanSession WRITE setCleanSession NOTIFY cleanSessionChanged)Q_PROPERTY(QString willTopic READ willTopic WRITE setWillTopic NOTIFY willTopicChanged)Q_PROPERTY(QByteArray willMessage READ willMessage WRITE setWillMessage NOTIFY willMessageChanged)Q_PROPERTY(quint8 willQoS READ willQoS WRITE setWillQoS NOTIFY willQoSChanged)Q_PROPERTY(bool willRetain READ willRetain WRITE setWillRetain NOTIFY willRetainChanged) public:explicit QMqttClient(QObject *parent = nullptr);void setTransport(QIODevice *device, TransportType transport);QIODevice *transport() const;QMqttSubscription *subscribe(const QMqttTopicFilter &topic, quint8 qos = 0);QMqttSubscription *subscribe(const QMqttTopicFilter &topic,const QMqttSubscriptionProperties &properties, quint8 qos = 0);void unsubscribe(const QMqttTopicFilter &topic);void unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties);Q_INVOKABLE qint32 publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(),quint8 qos = 0, bool retain = false);Q_INVOKABLE qint32 publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties,const QByteArray &message = QByteArray(),quint8 qos = 0,bool retain = false);bool requestPing();QString hostname() const;quint16 port() const;QString clientId() const;quint16 keepAlive() const;ProtocolVersion protocolVersion() const;Q_INVOKABLE void connectToHost(); #ifndef QT_NO_SSLQ_INVOKABLE void connectToHostEncrypted(const QString &sslPeerName = QString()); #endifQ_INVOKABLE void disconnectFromHost();ClientState state() const;ClientError error() const;QString username() const;QString password() const;bool cleanSession() const;QString willTopic() const;quint8 willQoS() const;QByteArray willMessage() const;bool willRetain() const;void setConnectionProperties(const QMqttConnectionProperties &prop);QMqttConnectionProperties connectionProperties() const;void setLastWillProperties(const QMqttLastWillProperties &prop);QMqttLastWillProperties lastWillProperties() const;QMqttServerConnectionProperties serverConnectionProperties() const;void authenticate(const QMqttAuthenticationProperties &prop); Q_SIGNALS:void connected();void disconnected();void messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName());void messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties);void messageSent(qint32 id);void pingResponseReceived();void brokerSessionRestored();void hostnameChanged(QString hostname);void portChanged(quint16 port);void clientIdChanged(QString clientId);void keepAliveChanged(quint16 keepAlive);void protocolVersionChanged(ProtocolVersion protocolVersion);void stateChanged(ClientState state);void errorChanged(ClientError error);void usernameChanged(QString username);void passwordChanged(QString password);void cleanSessionChanged(bool cleanSession);void willTopicChanged(QString willTopic);void willQoSChanged(quint8 willQoS);void willMessageChanged(QByteArray willMessage);void willRetainChanged(bool willRetain);void authenticationRequested(const QMqttAuthenticationProperties &p);void authenticationFinished(const QMqttAuthenticationProperties &p); public Q_SLOTS:void setHostname(const QString &hostname);void setPort(quint16 port);void setClientId(const QString &clientId);void setKeepAlive(quint16 keepAlive);void setProtocolVersion(ProtocolVersion protocolVersion);void setState(ClientState state);void setError(ClientError error);void setUsername(const QString &username);void setPassword(const QString &password);void setCleanSession(bool cleanSession);void setWillTopic(const QString &willTopic);void setWillQoS(quint8 willQoS);void setWillMessage(const QByteArray &willMessage);void setWillRetain(bool willRetain);private:void connectToHost(bool encrypted, const QString &sslPeerName);Q_DISABLE_COPY(QMqttClient)Q_DECLARE_PRIVATE(QMqttClient) };Q_DECLARE_TYPEINFO(QMqttClient::TransportType, Q_PRIMITIVE_TYPE); Q_DECLARE_TYPEINFO(QMqttClient::ClientState, Q_PRIMITIVE_TYPE); Q_DECLARE_TYPEINFO(QMqttClient::ClientError, Q_PRIMITIVE_TYPE);QT_END_NAMESPACEQ_DECLARE_METATYPE(QMqttClient::TransportType) Q_DECLARE_METATYPE(QMqttClient::ClientState) Q_DECLARE_METATYPE(QMqttClient::ClientError)#endif // QTMQTTCLIENT_H

重點關注QMqttClient中的信號函數和對應的槽函數,這將是我們使用QMqttClient實例化一個mqtt客戶端對象后操作的重點。

SLOTS:

void setHostname(const QString &hostname);? //用于設置即將連接的Mqtt服務器。

void setPort(quint16 port); // 設置端口號(與Mqtt服務器一致)

void setUsername(const QString &username); //? ?設置用戶名
void setPassword(const QString &password);? // 設置密碼

?void connectToHost(bool encrypted, const QString &sslPeerName); // 連接到服務器,如果需要SSL加密,可以對應設置

SIGNALS:?

void connected();? // 當客戶端與服務器連接上,此信號將被觸發
void disconnected(); // 當客戶端與服務器斷開連接,此信號將被觸發
void messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName()); // 當有消息被接受到,此信號被觸發。參數包含消息內容和對應的topic。顯然,我們訂閱一個主題后,異步接收消息就全靠這個信號了。
void pingResponseReceived();? // MQTT客戶端與服務器之間會定時發送ping包,類似于心跳檢測客戶端與服務器之間的通信是否連接正常。當服務器端有ping包的確認消息返回,此消息被觸發。

// 下面還有其他的一些狀態改變觸發的信號,不做詳細解釋

void hostnameChanged(QString hostname);
void portChanged(quint16 port);
void keepAliveChanged(quint16 keepAlive);
void protocolVersionChanged(ProtocolVersion protocolVersion);
void stateChanged(ClientState state);
void errorChanged(ClientError error);
void usernameChanged(QString username);
void passwordChanged(QString password);
void cleanSessionChanged(bool cleanSession);

??

?

記得將mqtt文件夾拷貝到項目文件目錄下,如下圖:

好了,代碼開干:

// mqttclientwindow.h#ifndef MQTTCLIENTWINDOW_H #define MQTTCLIENTWINDOW_H#include <QWidget> #include "mqtt/qmqttclient.h"namespace Ui { class MqttClientWindow; }class MqttClientWindow : public QWidget {Q_OBJECTpublic:explicit MqttClientWindow(QWidget *parent = nullptr);~MqttClientWindow(); public slots:void on_pub_pushButton_clicked();void on_connect_pushButton_clicked();void on_sub_pushButton_clicked();void onMessageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName());void onPingResponseReceived();void onConnected();void onDisconnected(); private:Ui::MqttClientWindow *ui;QMqttClient* client; };#endif // MQTTCLIENTWINDOW_H // mqttclientwindow.cpp#include "mqttclientwindow.h" #include "ui_mqttclientwindow.h" #include <QDebug> #include <QDateTime> #include <QHostAddress>MqttClientWindow::MqttClientWindow(QWidget *parent) :QWidget(parent),ui(new Ui::MqttClientWindow) {ui->setupUi(this);client = new QMqttClient;QObject::connect(client,SIGNAL(connected()),this,SLOT(onConnected()));QObject::connect(client,SIGNAL(disconnected()),this,SLOT(onDisconnected()));QObject::connect(client, SIGNAL(messageReceived(const QByteArray&, const QMqttTopicName&)),this, SLOT(onMessageReceived(const QByteArray &, const QMqttTopicName &)));QObject::connect(client,SIGNAL(pingResponseReceived()), this, SLOT(onPingResponseReceived())); }MqttClientWindow::~MqttClientWindow() {if(client->state() == QMqttClient::Connected){client->disconnectFromHost();}delete ui; }void MqttClientWindow::on_pub_pushButton_clicked() {if(client->publish(ui->pub_topic_lineEdit->text(),ui->pub_message_lineEdit->text().toUtf8()) == -1){qDebug() <<" Could not publish message";} }void MqttClientWindow::on_connect_pushButton_clicked() {//未連接服務器則連接if (client->state() == QMqttClient::Disconnected) {ui-> connect_pushButton->setText(tr("Disconnect"));client->setHostname("127.0.0.1");client->setPort(ui->port_lineEdit->text().trimmed().toUInt());client->setUsername("James");client->setPassword("james");ui->host_lineEdit->setEnabled(false);ui->port_lineEdit->setEnabled(false);client->connectToHost();} else {//斷開連接ui->connect_pushButton->setText(tr("Connect"));ui->host_lineEdit->setEnabled(true);ui->port_lineEdit->setEnabled(true);client->disconnectFromHost();} }void MqttClientWindow::on_sub_pushButton_clicked() {client->subscribe(ui->sub_lineEdit->text()); }void MqttClientWindow::onMessageReceived(const QByteArray &message, const QMqttTopicName &topic) {const QString content = QDateTime::currentDateTime().toString()+ QLatin1String(" Received Topic: ")+ topic.name()+ QLatin1String(" Message: ")+ message+ QLatin1Char('\n');ui->sub_textEdit->append(content); }void MqttClientWindow::onPingResponseReceived() {const QString content = QDateTime::currentDateTime().toString()+ QLatin1String(" PingResponse")+ QLatin1Char('\n');ui->sub_textEdit->append(content); }void MqttClientWindow::onConnected() {ui->sub_textEdit->append("has connected to server");}void MqttClientWindow::onDisconnected() {ui->sub_textEdit->append("has disConnected to server"); }

?

// main.cpp#include "mqttclientwindow.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MqttClientWindow w;w.show();return a.exec(); }

?

總結

以上是生活随笔為你收集整理的MQTT客户端程序的编写的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日本三级久久久 | 日韩免费小视频 | 久久小视频 | 97在线免费观看视频 | 亚洲国产最新 | 中文字幕一区二区三区在线观看 | 网站你懂的 | 99精品视频中文字幕 | 精品国内自产拍在线观看视频 | 久久精品亚洲一区二区三区观看模式 | 一区二区三区日韩视频在线观看 | 草久视频在线观看 | 国产精品 日韩 欧美 | 91精品国产自产在线观看 | av+在线播放在线播放 | 国产丝袜高跟 | 最新av免费在线观看 | 国产免费av一区二区三区 | 精品人人人 | 色偷偷88888欧美精品久久 | 国产五码一区 | 91精品办公室少妇高潮对白 | 久久中文字幕在线视频 | 久久电影中文字幕视频 | 黄色精品久久久 | 亚洲精品456在线播放第一页 | 国产精品av久久久久久无 | 日韩特级黄色片 | 日韩欧美在线播放 | 免费高清国产 | 99久久婷婷国产 | 日韩偷拍精品 | 久久久久久久久久网 | 国产精品一区二区三区免费看 | 成人夜晚看av | 日日插日日干 | 日韩精品久久久 | 成人av片免费观看app下载 | 日本精品久久久久中文字幕 | 免费在线成人av | 久久久噜噜噜久久久 | 日韩精品一区二区在线视频 | 国产乱码精品一区二区蜜臀 | 日韩精品久久一区二区三区 | 免费网站在线观看成人 | 精品久久久久久久久久久久久久久久久久 | 免费91在线 | 久久99精品国产麻豆婷婷 | 韩国精品一区二区三区六区色诱 | 一区二区三区四区五区六区 | 亚洲精品成人免费 | 午夜精品久久久久久久99婷婷 | 深夜免费福利在线 | 国产资源在线免费观看 | 中文字幕电影高清在线观看 | 美女视频黄免费的久久 | 中文字幕乱偷在线 | 久日视频| 国产精品女主播一区二区三区 | 黄色国产在线观看 | 热久久免费视频精品 | 亚洲高清精品在线 | 欧美精品第一 | 欧美日韩不卡在线观看 | 99热国产在线观看 | 久久精品免费看 | 97av.com | 日本久久不卡视频 | 激情视频国产 | 最近久乱中文字幕 | 亚洲精品中文在线 | 一级精品视频在线观看宜春院 | 黄色软件视频网站 | 亚洲综合最新在线 | 久久免费视频99 | 亚洲a成人v | 香蕉成人在线视频 | 最近更新好看的中文字幕 | 久久免费看毛片 | 91在线视频免费91 | 国产又粗又硬又爽视频 | 国产精品高潮呻吟久久av无 | 欧美日韩aa| 日韩欧美极品 | 黄色国产大片 | 日韩欧美国产精品 | 免费在线一区二区三区 | 国产免费观看久久黄 | 日韩三级av | 日韩欧美亚洲 | 不卡电影免费在线播放一区 | 欧美成人xxxx| 97在线观看免费高清完整版在线观看 | 日韩在线视频免费播放 | 天天射,天天干 | 欧美日韩国产一区二区三区在线观看 | 色婷婷av一区二 | aa一级片| 亚洲午夜av电影 | 在线看小早川怜子av | 日韩中文字幕在线不卡 | 伊人激情网 | 96超碰在线| 一区二精品 | 久久精品视频在线免费观看 | 亚洲欧美精品一区 | 特级西西444www大胆高清无视频 | 成年人在线免费视频观看 | 久久久久久久久久久黄色 | 欧美日韩中文字幕视频 | 最近更新好看的中文字幕 | 黄色小网站免费看 | 97精品国产 | 亚洲国产成人在线播放 | 欧美色婷| 在线观看视频色 | 免费观看一级视频 | 四虎影视成人永久免费观看视频 | 狠狠天天 | 欧美91视频 | 国产在线永久 | 国产 欧美 日产久久 | 久久免费视频7 | 91综合久久一区二区 | 看片网站黄色 | 四虎伊人 | 天堂va欧美va亚洲va老司机 | 国产精品视频免费看 | 欧美日韩一区二区三区免费视频 | 少妇做爰k8经典 | 色欧美88888久久久久久影院 | 色婷婷天天干 | 丁香高清视频在线看看 | 最近2019好看的中文字幕免费 | 国内久久久久 | 国产色在线视频 | 久久久久五月 | 国产成人免费精品 | 国内免费久久久久久久久久久 | 五月综合网 | 精品一区二区在线观看 | 在线国产99 | 久久视频热 | av看片网址| 91亚洲欧美激情 | 亚洲狠狠操 | 中文字幕一区二区三区久久蜜桃 | 91精品国产欧美一区二区成人 | 亚洲国产中文在线观看 | 丁香综合av | 不卡视频一区二区三区 | 91精品日韩| 色综合天天色综合 | 免费激情网 | 国产精品久久久久久久久久久免费看 | 在线观看日韩精品 | 国产一区私人高清影院 | 在线观看你懂的网站 | 婷婷天天色 | 久久综合色一综合色88 | 深爱激情站 | 欧美日韩国产色综合一二三四 | 久久综合免费视频影院 | 亚洲一区二区三区91 | 在线免费观看视频你懂的 | 亚洲成人黄色网址 | 亚洲电影av在线 | 色狠狠操 | 婷婷香蕉 | 婷婷综合五月 | 日韩av影视 | 99999精品 | 深爱激情五月婷婷 | 久久人人爽爽人人爽人人片av | 亚洲欧美999 | 国产成人精品久久 | 国产亚洲精品女人久久久久久 | 一本一本久久aa综合精品 | 日韩在线视频免费观看 | 成人av电影免费在线播放 | 亚洲免费高清视频 | 蜜桃麻豆www久久囤产精品 | 韩国av一区 | 99久久精品免费看国产一区二区三区 | 五月天狠狠操 | 色综合天天 | 精品免费一区二区三区 | 国内成人精品视频 | 91插插插免费视频 | 亚洲免费av在线 | 日日操日日干 | 久久网站最新地址 | 人人玩人人添人人澡超碰 | 国产爽视频 | av在线官网 | 黄色特级一级片 | 91视视频在线直接观看在线看网页在线看 | 国产无遮挡又黄又爽在线观看 | 亚洲国产精品免费 | 视频1区2区 | 亚洲欧美视频一区二区三区 | av中文字幕日韩 | 99在线免费观看视频 | 久久99精品一区二区三区三区 | 国产麻豆视频在线观看 | 精品人人人| 成人免费网站视频 | 国产精品久久久区三区天天噜 | 丁香网五月天 | 日韩理论电影在线 | 麻豆一精品传二传媒短视频 | 91插插影库| 国产精品久久中文字幕 | 91亚色免费视频 | 久久久久久久亚洲精品 | 久久久久电影网站 | 成人丝袜| 亚洲成a人片77777kkkk1在线观看 | 西西44人体做爰大胆视频 | 日韩欧美一区二区不卡 | 麻豆精品视频在线观看免费 | 999色视频 | 国产精品一区二区三区四 | 久久综合综合久久综合 | 国产精品国产三级国产aⅴ9色 | 亚洲国产中文字幕在线视频综合 | 91精品国产高清自在线观看 | 日批视频在线播放 | 深爱激情综合 | 黄网站a | 亚洲精品美女免费 | 人人爽网站| 久久精品国产亚洲精品 | 丁香在线视频 | 日韩一区正在播放 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 91丨九色丨丝袜 | 亚洲精品在线视频网站 | 国产精品亚洲a | 日韩va欧美va亚洲va久久 | 国产一区二区精品 | 最近中文字幕视频完整版 | 麻豆视频91 | 色 中文字幕 | 中文字幕av电影下载 | 中文字幕电影高清在线观看 | 99在线视频精品 | 欧美色插 | 91高清视频免费 | 久草在线免费播放 | 黄色精品在线看 | 狠狠干狠狠插 | 亚洲成人国产 | 国产a级免费 | 午夜影院一级 | h动漫中文字幕 | 国产精品自产拍在线观看蜜 | 欧美91精品久久久久国产性生爱 | 九九亚洲视频 | 亚洲另类xxxx | 99热手机在线 | 久草在线99 | 婷婷在线免费视频 | 欧洲精品亚洲精品 | 五月天亚洲激情 | 精品在线一区二区三区 | 国产美女精品久久久 | 草久久久久久久 | 久久欧美在线电影 | 欧美日韩不卡一区二区 | 免费高清无人区完整版 | 久久精品一区二区国产 | 久久这里只有精品视频99 | 丁香久久 | 91超级碰 | 久久精品美女视频网站 | 99久久婷婷国产 | 亚洲黄色a| 色综合色综合久久综合频道88 | 免费高清在线观看成人 | 精品一区二区电影 | 香蕉影院在线 | 国产小视频免费在线观看 | 人人干人人艹 | 超碰在线日本 | 久久情爱| 九九三级毛片 | 久久国产视屏 | 国产成人一区二区三区影院在线 | 久久在线免费视频 | 99视频在线播放 | 99色在线播放 | 麻豆视频观看 | www国产在线 | 国产精品久久久久久久毛片 | 伊香蕉大综综综合久久啪 | 国产精品第7页 | 欧美黑人xxxx猛性大交 | 91理论片午午伦夜理片久久 | 亚洲最新视频在线 | 在线视频中文字幕一区 | 中文字幕在线播放一区二区 | h视频日本 | 日韩三级免费 | 天天干夜夜夜操天 | 99久久日韩精品免费热麻豆美女 | 91大神精品视频在线观看 | 中文字幕一区二区三区四区视频 | 日韩免费中文字幕 | 国产精品美女久久久免费 | 久久精品国产亚洲 | www·22com天天操 | 国产精品自产拍在线观看 | www久久99| 91视频91色 | 伊人热 | 国产精品久久久久9999吃药 | 日韩av成人在线 | 91av蜜桃| 99精品视频在线观看免费 | 激情网婷婷 | 国产福利91精品一区二区三区 | av成人在线电影 | 六月激情久久 | 天天干夜夜擦 | 欧美成人黄色 | 美女黄频视频大全 | 亚洲婷婷在线视频 | 国产精品美女久久久久久久 | 免费高清在线一区 | 久久久精品亚洲 | 午夜国产福利在线观看 | 日韩毛片一区 | 久久爽久久爽久久av东京爽 | 在线免费中文字幕 | 国产精品一区二区免费在线观看 | 最近中文字幕高清字幕免费mv | 午夜色影院 | 91看片在线播放 | 亚洲精品视频在线观看免费 | 中文字幕在线观看网址 | 中文字幕一二三区 | 日日夜夜噜噜噜 | 天天艹天天 | 国产精品一区免费在线观看 | 天天草夜夜 | 国内视频| 天天躁日日躁狠狠躁av麻豆 | 欧美韩国日本在线观看 | 国产亚洲精品久久久网站好莱 | 一区二区影院 | 日韩最新在线视频 | 久久99最新地址 | 欧美激情va永久在线播放 | 国产精品高清一区二区三区 | 国产99一区视频免费 | 国产在线视频导航 | 福利电影久久 | 日日干日日色 | 亚洲视频精品 | 久久成年人网站 | 毛片永久新网址首页 | 97精品国产97久久久久久久久久久久 | 午夜视频在线观看一区二区三区 | 精油按摩av | 亚洲在线视频免费 | 天天躁日日躁狠狠 | 国产色小视频 | 日本久久久久久久久 | 精品国产一区二区三区日日嗨 | 国产在线2020| 国产又粗又长的视频 | 国产精品久久久久久久电影 | 欧美日韩久久一区 | 99性视频| 免费av试看 | 欧美性色综合网站 | 天天综合天天综合 | 久久精品aaa | 99久久99久久精品免费 | 中文字幕在线观看一区 | 中文字幕在线看视频国产中文版 | 人人舔人人爱 | av在线影片| 在线国产精品视频 | 免费日韩视 | 国产免费又粗又猛又爽 | 久草电影免费在线观看 | 国产高h视频 | 91看片淫黄大片一级在线观看 | 蜜臀精品久久久久久蜜臀 | 亚洲性少妇性猛交wwww乱大交 | 国产成人精品一区在线 | 欧美日韩国产在线 | 日韩视频一区二区在线 | 国产精品观看 | 蜜臀av网址 | 亚洲影视九九影院在线观看 | 日韩免费网站 | 国产拍在线| 国产精品日韩在线播放 | 日本久久久久久 | 欧美污网站 | 国产乱对白刺激视频在线观看女王 | 亚洲作爱 | 亚洲综合在线播放 | 亚洲精品玖玖玖av在线看 | sesese图片| 亚洲最新av在线网站 | 黄色91免费观看 | 91黄色影视| 欧美激情在线网站 | 在线观看完整版 | 国模视频一区二区 | 91网在线看| 国产日韩视频在线播放 | 亚洲精品视频在线观看免费 | 亚洲国产网址 | 亚洲精品午夜一区人人爽 | 成人欧美在线 | 五月激情在线 | 黄色大片国产 | 精品国产91亚洲一区二区三区www | 久久综合婷婷综合 | 岛国片在线| 国产亚洲在线视频 | 亚洲一二视频 | 成年人免费在线 | 日韩欧美在线观看 | 日韩中文字幕国产 | 麻花豆传媒一二三产区 | www日| 成人a视频| 精品国产三级 | 久久99网站| 91禁看片 | 久久一区二区三区四区 | 国产视频中文字幕在线观看 | 久久综合狠狠综合 | av在线观 | 欧美精品在线视频 | 91一区一区三区 | 国产va在线 | 欧美日韩午夜 | 人人草人 | 操高跟美女 | 美女国内精品自产拍在线播放 | 二区在线播放 | 激情网第四色 | 国产日韩av在线 | 国产999精品视频 | 久久黄色小说 | 一区二区三高清 | 久久综合色8888 | 日韩免费电影在线观看 | 日韩精品视| 日韩av成人在线观看 | 亚洲精品综合在线观看 | 最新日韩在线观看视频 | 成年人视频在线免费观看 | 亚洲欧美国产精品久久久久 | 91手机电视 | 久久精品国产精品 | 久久免费视频国产 | 日日夜夜天天操 | 成人av久久 | 色综合久久中文综合久久牛 | 亚洲免费不卡 | 成人国产综合 | 在线成人中文字幕 | 精品成人a区在线观看 | 丁香六月综合网 | 亚洲女同videos| 日韩在观看线 | 国产成人免费在线 | 亚洲精品字幕 | 国产精品久一 | 久久成人资源 | 91精品网站在线观看 | 九色porny真实丨国产18 | 高清不卡一区二区在线 | 色中射| 精品96久久久久久中文字幕无 | av看片在线 | 国产一级二级三级在线观看 | 日韩av高清在线观看 | 久久九九网站 | 丁香激情视频 | 丁香在线| 天天操天天摸天天干 | 久草91视频 | 国产精品午夜av | 国产a免费| 久久免费99精品久久久久久 | 在线观看亚洲a | 欧美少妇18p | 91视频免费看片 | 欧美日韩在线观看视频 | 不卡av免费在线观看 | 中文字幕一区二区三区四区视频 | 天天拍天天爽 | 一级α片免费看 | 久久免费看 | 日韩色av色资源 | 最新亚洲视频 | 久久超碰免费 | 日韩手机在线观看 | www.天天综合| 久久国产精品一区二区 | 在线视频电影 | 人成免费网站 | 欧美一级电影 | 天天天天天天天操 | 91精品久久久久久久99蜜桃 | 久久久久久久久网站 | 欧美一级免费黄色片 | 欧美一区二区三区在线看 | 美女视频黄免费的久久 | 懂色av一区二区在线播放 | 中文字幕电影网 | 最近中文字幕视频完整版 | 欧美成人亚洲 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 97视频在线看 | 福利电影久久 | 毛片网在线观看 | 日韩18p| 91成人网页版 | 97香蕉超级碰碰久久免费软件 | 丁香视频全集免费观看 | 就要干b| 国产精品永久久久久久久www | 亚洲视频在线免费观看 | 日韩在线视频看看 | 97在线观看视频国产 | av黄色影院 | 91爱在线| 免费在线观看黄网站 | 日韩精品视频一二三 | 美女久久网站 | 国产视频一区精品 | 中文字幕888 | 天天草综合| 公开超碰在线 | 91香蕉视频好色先生 | 欧美一级片 | 亚洲视频99| 午夜久久福利影院 | 一区二区电影在线观看 | 成人97视频 | 色婷婷国产精品一区在线观看 | 国产精品青草综合久久久久99 | 亚洲三级网站 | 五月天激情综合网 | 五月激情在线 | 久久久综合九色合综国产精品 | 91精品亚洲影视在线观看 | 四月婷婷在线观看 | 久久午夜鲁丝片 | 久久久久久久久久久久影院 | 国产精品亚洲人在线观看 | www..com毛片 | 久久ww| 亚洲黄色免费在线看 | 午夜av影院| 亚洲精品九九 | 在线亚洲人成电影网站色www | 精品久久久久久国产偷窥 | 久久久在线 | 99这里只有 | 日批视频国产 | 国产原创在线 | 亚洲精品国产成人av在线 | 久久久久久97三级 | 91禁看片 | 国产无套视频 | 天天干天天射天天插 | av在线播放中文字幕 | 中文字幕亚洲国产 | 国产精品第二页 | 色99视频| 亚洲精品麻豆视频 | 日韩精品一区二区在线 | 18女毛片| 97超碰人人干 | 国产亚洲综合在线 | 亚洲在线成人精品 | 国产在线第三页 | 国产一区免费视频 | av一区二区三区在线播放 | 久久九九久久精品 | 中文字幕第一页av | 在线日韩精品视频 | 黄色成人小视频 | 成人免费亚洲 | av成人免费在线看 | 99国产精品一区二区 | 日本99精品 | a午夜在线 | 精品视频专区 | 一级黄毛片 | 日本黄色免费在线观看 | 久草爱| 国产午夜精品免费一区二区三区视频 | 黄色日批网站 | 色综合色综合久久综合频道88 | 91精品在线播放 | 涩涩色亚洲一区 | 中文字幕精品www乱入免费视频 | 国产精品久久久久久久久毛片 | 色视频网站在线 | 五月婷婷丁香网 | 911香蕉视频 | 国产精品69av | 精品久久福利 | 一级欧美黄 | 人人看人人草 | 久久人人爽人人爽人人片 | 麻豆91精品视频 | 精品国产乱码久久久久久1区二区 | 亚州人成在线播放 | 久久社区视频 | 日韩一级电影在线观看 | 黄色毛片视频免费观看中文 | 日韩精品观看 | 日韩在线视 | 在线观看av网 | 欧美极度另类 | 91成人区 | 久久免费在线观看视频 | 欧美国产日韩在线观看 | 有码一区二区三区 | 中文在线a在线 | 国产伦精品一区二区三区在线 | 日韩色在线观看 | 999成人| 久草精品在线播放 | 欧美一区二区三区特黄 | 91黄视频在线 | 亚洲精品女人 | 区一区二在线 | 亚洲成人精品 | 国产中文字幕91 | 日韩网站在线免费观看 | 久久久久久久久影院 | 亚洲一区二区三区在线看 | 国产精品国产精品 | 四虎海外影库www4hu | 黄色影院在线播放 | 九月婷婷综合网 | 日韩欧美在线观看一区二区三区 | 国产成人三级三级三级97 | 激情视频在线高清看 | 日韩在线观看第一页 | 国产视频在线一区二区 | 亚洲视频六区 | 免费的国产精品 | 免费看污片 | 精品国产一区二区三区久久影院 | 国产美女精品视频免费观看 | 在线观看亚洲视频 | 成人久久视频 | 色资源在线| 人操人| 国产又粗又长的视频 | 日本黄色黄网站 | 国产精品a级 | 在线观看亚洲国产精品 | 9在线观看免费 | 欧美日韩国产亚洲乱码字幕 | 亚洲成人精品在线观看 | 精品久久久久久亚洲综合网 | 国产 欧美 在线 | 欧美成年人在线视频 | 久久久久免费看 | 欧美激情片在线观看 | 一级一级一片免费 | 亚洲欧美视频在线 | 97精品国产97久久久久久久久久久久 | 欧美日韩国内在线 | 久久综合久久伊人 | 日本资源中文字幕在线 | 国产精久久久久久久 | 96精品高清视频在线观看软件特色 | 91成人看片| 狠狠躁夜夜a产精品视频 | 97天堂 | 91麻豆精品国产自产 | 日本精品久久久久影院 | 四虎国产精品成人免费4hu | 久久久久久久久久久久久国产精品 | 国产99久久精品一区二区300 | 日韩欧美aaa | 成人精品99 | 丝袜精品视频 | 久久久久久久久久久久久国产精品 | 国产美女视频一区 | 欧美一区二区三区免费看 | 久久久在线免费观看 | 又黄又爽免费视频 | 97av精品 | 亚欧日韩成人h片 | 特级毛片在线 | 中文字幕高清视频 | www激情网 | 日韩动漫免费观看高清完整版在线观看 | 免费成人av电影 | 91尤物在线播放 | 亚洲涩涩网 | 九九在线播放 | 久草在线综合网 | 成人91视频| 欧美日韩免费一区二区三区 | 日本三级不卡视频 | 免费裸体视频网 | 能在线观看的日韩av | 日日躁夜夜躁xxxxaaaa | 精品亚洲一区二区 | 午夜久久视频 | 亚洲日本中文字幕在线观看 | 免费av在线网 | 国产视频午夜 | 特级毛片爽www免费版 | 91在线精品一区二区 | 顶级欧美色妇4khd | 国产视频在 | 国产成人精品午夜在线播放 | 天天爽人人爽夜夜爽 | 日韩av不卡在线观看 | 久久久精品综合 | 欧美淫aaa免费观看 日韩激情免费视频 | 精品网站999www | 国产一区91 | 久久久黄色| 免费在线观看亚洲视频 | 色婷婷a | 丝袜美女视频网站 | 99re国产 | 中文字幕丝袜制服 | 国产亚洲观看 | 日韩精品久久久 | 黄色毛片网站在线观看 | 国产日韩欧美在线看 | 婷婷丁香花 | 在线免费av电影 | 国产成人香蕉 | 右手影院亚洲欧美 | 久久久激情网 | 黄av资源 | 亚洲精品视频久久 | 国产99久久久国产精品成人免费 | 91成人精品视频 | 综合网伊人| 久久不卡国产精品一区二区 | 成人免费看片98欧美 | 亚洲专区视频在线观看 | 美女网站视频色 | 在线观影网站 | 国产美女主播精品一区二区三区 | 天天射天天舔天天干 | 免费看黄的视频 | 91在线公开视频 | 久久成人资源 | a√天堂中文在线 | 91视频免费看网站 | 亚洲视频2| 午夜精品电影 | 国内外成人在线视频 | 精品在线观看一区二区 | 激情在线免费视频 | 天天干天天干天天操 | 免费在线观看国产精品 | 亚洲精品白浆高清久久久久久 | 国产成人黄色片 | 2022国产精品视频 | 日韩精品一区二区三区外面 | 亚洲综合色丁香婷婷六月图片 | 免费观看福利视频 | 手机看片国产 | 日日夜夜狠狠操 | 久久久久国产精品免费免费搜索 | 狠狠色狠狠色综合日日92 | 亚洲欧洲国产精品 | 亚洲精品小视频 | 国产青草视频在线观看 | 最新中文字幕视频 | 午夜a区 | 亚洲综合婷婷 | 在线免费观看视频你懂的 | 奇米网在线观看 | 在线电影 一区 | 最近中文字幕大全 | 999国内精品永久免费视频 | 全久久久久久久久久久电影 | 9999在线观看 | 成人综合免费 | 亚洲专区中文字幕 | 婷婷精品 | 激情九九 | 色综合色综合色综合 | av网站播放| 99色婷婷 | 亚洲一区二区三区四区精品 | av性网站| 欧美久久影院 | 日韩电影一区二区在线观看 | 日日夜夜精品 | 国产高清精品在线 | 综合色亚洲| 国产成本人视频在线观看 | 天天干天天干天天干 | 久久精品一区二区三区国产主播 | 色六月婷婷 | 欧美亚洲免费在线一区 | av不卡免费在线观看 | ww亚洲ww亚在线观看 | 欧美日韩18 | 天天爽天天做 | 免费又黄又爽视频 | 久久久18 | 天天草天天插 | 久草在线观看视频免费 | 视频1区2区 | www.亚洲精品 | 久久久久久久久久久免费 | 伊人天天操 | 337p日本欧洲亚洲大胆裸体艺术 | 丁香婷婷激情国产高清秒播 | 天天射天天舔天天干 | 最新日韩视频在线观看 | 激情综合婷婷 | 天天狠狠 | 日韩精品视频久久 | 91亚洲精品久久久久图片蜜桃 | 国产精品久久久久999 | 国产视频在线观看一区 | 天天爱天天操天天干 | 久久久免费精品视频 | 伊人狠狠操 | 国产91影院| 成人蜜桃 | 天天天天天天干 | 亚洲一区视频免费观看 | aaaaaa毛片| 在线欧美a| 中文字幕.av.在线 | 久久66热这里只有精品 | 97精品国自产拍在线观看 | 国产又粗又猛又黄又爽的视频 | 午夜少妇一区二区三区 | 在线观看中文字幕2021 | 在线播放av网址 | 日本韩国在线不卡 | 国产五码一区 | 精品乱码一区二区三四区 | 五月天中文在线 | 亚洲黄色片| 天堂视频一区 | 成人精品在线 | 午夜国产影院 | 24小时日本在线www免费的 | 精品久久久久久亚洲综合网 | 天天爽天天爽夜夜爽 | 成人免费视频播放 | 少妇精69xxtheporn | 97在线观看免费观看 | 日日夜夜狠狠 | 97在线影院 | 在线一区电影 | 久久久精品国产免费观看一区二区 | 九九视频免费观看视频精品 | 麻豆精品传媒视频 | 欧美日韩国产在线精品 | 日本三级久久久 | 久操视频在线免费看 | 免费裸体视频网 | 狠狠干狠狠艹 | 亚洲精品乱码久久久久久写真 | 精品久久中文 | 日韩极品视频在线观看 | 中文字幕第一 | 欧美一进一出抽搐大尺度视频 | 国产一区在线精品 | 99色视频在线 | 免费观看成人网 | 黄色软件在线观看 | 亚洲无人区小视频 | 日韩亚洲在线 | 中文视频在线看 | 在线色亚洲| 国产一区二区免费 | 成人综合婷婷国产精品久久免费 | 欧美一区二区三区特黄 | av女优中文字幕在线观看 | 国内久久久久久 | 看片一区二区三区 | 亚洲视频免费在线观看 | 国产精品毛片网 | 国产精品久久久久久久久久ktv | 国产污视频在线观看 | 日韩欧美在线视频一区二区 | 福利视频入口 | 色美女在线| 99久久久久久久久久 | 中文字幕免费高清在线观看 | 美女免费黄网站 | 黄网站免费看 | 久久久久在线视频 | 国内视频在线 | 麻豆视频免费在线观看 | 天天激情天天干 | 在线观看日韩精品视频 | 成人va天堂 | 欧美日韩1区| 久热免费在线观看 | 黄色毛片大全 | 亚洲婷婷伊人 | 91麻豆精品国产自产在线 | 91精品老司机久久一区啪 | 欧美一区二区三区在线视频观看 | 欧美极品一区二区三区 | 成人av久久 | 婷婷丁香九月 | 超碰99人人 | 久草热久草视频 | 亚洲国内精品视频 | 婷婷伊人综合亚洲综合网 | 欧美 亚洲 另类 激情 另类 | 亚洲精品在线资源 | 狠狠综合久久 | 中文区中文字幕免费看 | 日韩电影一区二区在线观看 | 91理论片午午伦夜理片久久 | 免费成人av在线看 | 日韩欧美精品一区二区 | 国产成人精品久久亚洲高清不卡 | 欧洲精品码一区二区三区免费看 | 综合色婷婷 | 日日夜夜操操操操 | 婷婷久久国产 | 91麻豆精品国产91久久久无需广告 | 国产精品自在欧美一区 | 精品夜夜嗨av一区二区三区 | www.xxxx变态.com| 激情开心色 | 色97在线 | 国产亚洲婷婷免费 | 久久久精品国产免费观看一区二区 | 久久综合射| 中文有码在线 | 亚洲国产精品久久 | 91干干干 | 国产精品视频地址 | 91插插插网站 | 手机在线黄色网址 | 久久欧美精品 | 亚洲欧洲久久久 | 国产视频一区二区在线播放 | 日韩一区二区三区免费视频 | 亚洲精品免费在线播放 | 香蕉视频色| 欧美日韩久久一区 | 500部大龄熟乱视频 欧美日本三级 | 中文字幕免费高 | 国产大陆亚洲精品国产 | 特黄特色特刺激视频免费播放 | 91丨九色丨国产在线 | 女人18精品一区二区三区 | .国产精品成人自产拍在线观看6 | 中文字幕一区二区在线播放 | 精品99免费视频 | 国产伦理一区二区 | 精品免费在线视频 | 国产免费激情久久 | 五月开心色 | 欧美日韩国产网站 | 很黄很色很污的网站 | 欧美黄色高清 | 日本成址在线观看 | 狠狠ri| 久久久久亚洲精品中文字幕 | 日韩视频在线一区 | 开心激情五月网 | 免费观看特级毛片 | 国产高清免费在线观看 | 国产视频97| 手机av电影在线观看 | 综合久久婷婷 | 天天躁日日躁狠狠 | 人人爱夜夜操 | 日日草天天干 | 国产欧美综合在线观看 | 久久国产经典 | 国产日产精品久久久久快鸭 | 亚洲三级精品 | 免费视频一级片 | 最近中文字幕免费大全 | 在线小视频你懂得 |