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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

Winform中使用MQTTnet实现MQTT的服务端和客户端之间的通信以及将订阅的消息保存到文件

發(fā)布時(shí)間:2025/3/19 c/c++ 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Winform中使用MQTTnet实现MQTT的服务端和客户端之间的通信以及将订阅的消息保存到文件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

場(chǎng)景

MQTT

MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的"輕量級(jí)"通訊協(xié)議,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開(kāi)銷、低帶寬占用的即時(shí)通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。

MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開(kāi)放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。在很多情況下,包括受限的環(huán)境中,如:機(jī)器與機(jī)器(M2M)通信和物聯(lián)網(wǎng)(IoT)。其在,通過(guò)衛(wèi)星鏈路通信傳感器、偶爾撥號(hào)的醫(yī)療設(shè)備、智能家居、及一些小型化設(shè)備中已廣泛使用。

MQTTnet

MQTTnet 是一個(gè)基于 MQTT 通信的高性能 .NET 開(kāi)源庫(kù),它同時(shí)支持 MQTT 服務(wù)器端和客戶端。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書(shū)、教程推送與免費(fèi)下載。

實(shí)現(xiàn)

打開(kāi)VS,新建mqtt的服務(wù)端項(xiàng)目

選擇將解決方案和項(xiàng)目放在同一個(gè)目錄下

然后選擇新建控制臺(tái)應(yīng)用程序,并且選擇目標(biāo)框架為.NET Core3.1

然后在此解決方案下右擊新建項(xiàng)目

新建Winform項(xiàng)目,作為Mqtt的客戶端

然后在解決方案上右擊選擇-管理解決方案的Nuget 程序包

然后在瀏覽中搜索MQTTnet,右邊勾選需要添加依賴的項(xiàng)目,這里客戶端和服務(wù)端都需要添加。然后下面選擇指定版本,這里是2.4.0,點(diǎn)擊安裝

安裝過(guò)程中會(huì)提示預(yù)覽更改,點(diǎn)擊確定,以及會(huì)提示接受協(xié)議。

安裝成功后,就可以在項(xiàng)目下看到依賴項(xiàng)

然后編寫服務(wù)端的代碼,打開(kāi)Program.cs,修改如下

using System; using MQTTnet; using MQTTnet.Core.Adapter; using MQTTnet.Core.Diagnostics; using MQTTnet.Core.Protocol; using MQTTnet.Core.Server; using System.Text; using System.Threading;namespace MqttnetServer {class Program{//MQtt服務(wù)端private static MqttServer mqttServer = null;static void Main(string[] args){//MQTTnet 提供了一個(gè)靜態(tài)類 MqttNetTrace 來(lái)對(duì)消息進(jìn)行跟蹤//MqttNetTrace 的事件 TraceMessagePublished 用于跟蹤服務(wù)端和客戶端應(yīng)用的日志消息,比如啟動(dòng)、停止、心跳、消息訂閱和發(fā)布等MqttNetTrace.TraceMessagePublished += MqttNetTrace_TraceMessagePublished;//啟動(dòng)服務(wù)端new Thread(StartMqttServer).Start();while (true){//獲取輸入字符var inputString = Console.ReadLine().ToLower().Trim();//exit則停止服務(wù)if (inputString == "exit"){mqttServer.StopAsync();Console.WriteLine("MQTT服務(wù)已停止!");break;}//clients則輸出所有客戶端else if (inputString == "clients"){foreach (var item in mqttServer.GetConnectedClients()){Console.WriteLine($"客戶端標(biāo)識(shí):{item.ClientId},協(xié)議版本:{item.ProtocolVersion}");}}else{Console.WriteLine($"命令[{inputString}]無(wú)效!");}}}//啟動(dòng)服務(wù)端private static void StartMqttServer(){if (mqttServer == null){try{//在 MqttServerOptions 選項(xiàng)中,你可以使用 ConnectionValidator 來(lái)對(duì)客戶端連接進(jìn)行驗(yàn)證。//比如客戶端ID標(biāo)識(shí) ClientId,用戶名 Username 和密碼 Password 等。var options = new MqttServerOptions{ConnectionValidator = p =>{if (p.ClientId == "c001"){if (p.Username != "u001" || p.Password != "p001"){return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;}}return MqttConnectReturnCode.ConnectionAccepted;}};//創(chuàng)建服務(wù)端最簡(jiǎn)單的方式是采用 MqttServerFactory 對(duì)象的 CreateMqttServer 方法來(lái)實(shí)現(xiàn),該方法需要一個(gè)//MqttServerOptions 參數(shù)。mqttServer = new MqttServerFactory().CreateMqttServer(options) as MqttServer;//服務(wù)端支持 ClientConnected、ClientDisconnected 和 ApplicationMessageReceived 事件,//分別用來(lái)檢查客戶端連接、客戶端斷開(kāi)以及接收客戶端發(fā)來(lái)的消息。//ApplicationMessageReceived 的事件參數(shù)包含了客戶端ID標(biāo)識(shí) ClientId 和 MQTT 應(yīng)用消息 MqttApplicationMessage 對(duì)象,//通過(guò)該對(duì)象可以獲取主題 Topic、QoS QualityOfServiceLevel 和消息內(nèi)容 Payload 等信息mqttServer.ApplicationMessageReceived += MqttServer_ApplicationMessageReceived;//ClientConnected 和 ClientDisconnected 事件的事件參數(shù)一個(gè)客戶端連接對(duì)象 ConnectedMqttClient//通過(guò)該對(duì)象可以獲取客戶端ID標(biāo)識(shí) ClientId 和 MQTT 版本 ProtocolVersion。mqttServer.ClientConnected += MqttServer_ClientConnected;mqttServer.ClientDisconnected += MqttServer_ClientDisconnected;}catch (Exception ex){Console.WriteLine(ex.Message); return;}}//創(chuàng)建了一個(gè) IMqttServer 對(duì)象后,調(diào)用其 StartAsync 方法即可啟動(dòng) MQTT 服務(wù)mqttServer.StartAsync();Console.WriteLine("MQTT服務(wù)啟動(dòng)成功!");}//ClientConnected 和 ClientDisconnected 事件的事件參數(shù)一個(gè)客戶端連接對(duì)象 ConnectedMqttClient//通過(guò)該對(duì)象可以獲取客戶端ID標(biāo)識(shí) ClientId 和 MQTT 版本 ProtocolVersion。private static void MqttServer_ClientConnected(object sender, MqttClientConnectedEventArgs e){Console.WriteLine($"客戶端[{e.Client.ClientId}]已連接,協(xié)議版本:{e.Client.ProtocolVersion}");}//ClientConnected 和 ClientDisconnected 事件的事件參數(shù)一個(gè)客戶端連接對(duì)象 ConnectedMqttClient//通過(guò)該對(duì)象可以獲取客戶端ID標(biāo)識(shí) ClientId 和 MQTT 版本 ProtocolVersion。private static void MqttServer_ClientDisconnected(object sender, MqttClientDisconnectedEventArgs e){Console.WriteLine($"客戶端[{e.Client.ClientId}]已斷開(kāi)連接!");}//ApplicationMessageReceived 的事件參數(shù)包含了客戶端ID標(biāo)識(shí) ClientId 和 MQTT 應(yīng)用消息 MqttApplicationMessage 對(duì)象,//通過(guò)該對(duì)象可以獲取主題 Topic、QoS QualityOfServiceLevel 和消息內(nèi)容 Payload 等信息private static void MqttServer_ApplicationMessageReceived(object sender, MqttApplicationMessageReceivedEventArgs e){Console.WriteLine($"客戶端[{e.ClientId}]>> 主題:{e.ApplicationMessage.Topic} 負(fù)荷:{Encoding.UTF8.GetString(e.ApplicationMessage.Payload)} Qos:{e.ApplicationMessage.QualityOfServiceLevel} 保留:{e.ApplicationMessage.Retain}");}//事件參數(shù) MqttNetTraceMessagePublishedEventArgs 包含了線程ID ThreadId、來(lái)源 Source、日志級(jí)別 Level、日志消息 Message、異常信息 Exception 等。//MqttNetTrace 類還提供了4個(gè)不同消息等級(jí)的靜態(tài)方法,Verbose、Information、Warning 和 Error,//用于給出不同級(jí)別的日志消息,該消息將會(huì)在 TraceMessagePublished 事件中輸出,//你可以使用 e.Level 進(jìn)行過(guò)慮。private static void MqttNetTrace_TraceMessagePublished(object sender, MqttNetTraceMessagePublishedEventArgs e){Console.WriteLine($">> 線程ID:{e.ThreadId} 來(lái)源:{e.Source} 跟蹤級(jí)別:{e.Level} 消息: {e.Message}"); if (e.Exception != null) { Console.WriteLine(e.Exception); }}} }

然后啟動(dòng)服務(wù)端

然后修改客戶端的窗體頁(yè)面,添加如下控件布局

連接按鈕的點(diǎn)擊事件代碼為

??????? //連接到Mqtt服務(wù)器private void button_Connect_Click(object sender, EventArgs e){if (string.IsNullOrEmpty(textServerAddress.Text)){MessageBox.Show("服務(wù)器地址不能為空");}else {Task.Run(async () => {await ConnectMqttServerAsync();});}}

訂閱并保存到文件按鈕的點(diǎn)擊事件為

?????? //訂閱主題按鈕點(diǎn)擊事件private void btnSubscribe_Click(object sender, EventArgs e){string topic = txtSubTopic.Text.Trim();if (string.IsNullOrEmpty(topic)){MessageBox.Show("訂閱主題不能為空!");return;}if (!mqttClient.IsConnected){MessageBox.Show("MQTT客戶端尚未連接!");return;}//客戶端連接到服務(wù)端之后,可以使用 SubscribeAsync 異步方法訂閱消息,//該方法可以傳入一個(gè)可枚舉或可變參數(shù)的主題過(guò)濾器 TopicFilter 參數(shù),主題過(guò)濾器包含主題名和 QoS 等級(jí)。mqttClient.SubscribeAsync(new List<TopicFilter> {new TopicFilter(topic, MqttQualityOfServiceLevel.AtMostOnce)});txtReceiveMessage.AppendText($"已訂閱[{topic}]主題" + Environment.NewLine);}

取消訂閱按鈕的點(diǎn)擊事件為

??????? //取消訂閱按鈕點(diǎn)擊事件private void btn_cancle_sub_Click(object sender, EventArgs e){string topic = txtSubTopic.Text.Trim();mqttClient.UnsubscribeAsync(new List<String> {topic});}

發(fā)布按鈕的點(diǎn)擊事件為

??????? //發(fā)布主題private void button2_Click_1(object sender, EventArgs e){string topic = txtPubTopic.Text.Trim();if (string.IsNullOrEmpty(topic)){MessageBox.Show("發(fā)布主題不能為空!"); return;}string inputString = txtSendMessage.Text.Trim();//發(fā)布消息前需要先構(gòu)建一個(gè)消息對(duì)象 MqttApplicationMessage,//最直接的方法是使用其實(shí)構(gòu)造函數(shù),傳入主題、內(nèi)容、Qos 等參數(shù)。var appMsg = new MqttApplicationMessage(topic, Encoding.UTF8.GetBytes(inputString), MqttQualityOfServiceLevel.AtMostOnce, false);//得到 MqttApplicationMessage 消息對(duì)象后,//通過(guò)客戶端對(duì)象調(diào)用其 PublishAsync 異步方法進(jìn)行消息發(fā)布。mqttClient.PublishAsync(appMsg);}

完整客戶端示例代碼為

using MQTTnet; using MQTTnet.Core; using MQTTnet.Core.Client; using MQTTnet.Core.Packets; using MQTTnet.Core.Protocol; using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace MqttnetClient {public partial class Form1 : Form{//MQTTk客戶端private MqttClient mqttClient = null;public Form1(){InitializeComponent();}private async Task ConnectMqttServerAsync(){if (mqttClient == null){//使用 MQTTnet 創(chuàng)建 MQTT 也非常簡(jiǎn)單//只需要使用 MqttClientFactory 對(duì)象的 CreateMqttClient 方法即可mqttClient = new MqttClientFactory().CreateMqttClient() as MqttClient;//客戶端支持 Connected、Disconnected 和 ApplicationMessageReceived 事件,//用來(lái)處理客戶端與服務(wù)端連接、客戶端從服務(wù)端斷開(kāi)以及客戶端收到消息的事情。mqttClient.ApplicationMessageReceived += MqttClient_ApplicationMessageReceived;mqttClient.Connected += MqttClient_Connected;mqttClient.Disconnected += MqttClient_Disconnected;}try{//調(diào)用ConnectAsync方法時(shí)需要傳遞一個(gè) MqttClientTcpOptions 對(duì)象//選項(xiàng)包含了客戶端ID標(biāo)識(shí) ClientId、服務(wù)端地址(可以使用IP地址或域名)Server、端口號(hào) Port、//用戶名 UserName、密碼 Password 等信息。var options = new MqttClientTcpOptions { };if (!string.IsNullOrEmpty(textPort.Text)){options = new MqttClientTcpOptions{Server = textServerAddress.Text,ClientId = Guid.NewGuid().ToString().Substring(0, 5),UserName = textusername.Text,Password = textpassword.Text,Port = int.Parse(textPort.Text),CleanSession = true};}else {options = new MqttClientTcpOptions{Server = textServerAddress.Text,ClientId = Guid.NewGuid().ToString().Substring(0, 5),UserName = textusername.Text,Password = textpassword.Text,CleanSession = true};}//創(chuàng)建客戶端對(duì)象后,調(diào)用其異步方法 ConnectAsync 來(lái)連接到服務(wù)端。await mqttClient.ConnectAsync(options);}catch (Exception ex){Invoke((new Action(() =>{txtReceiveMessage.AppendText($"連接到MQTT服務(wù)器失敗!" + Environment.NewLine + ex.Message + Environment.NewLine);})));}}private void MqttClient_Connected(object sender, EventArgs e){Invoke((new Action(() =>{txtReceiveMessage.AppendText("已連接到MQTT服務(wù)器!" + Environment.NewLine);})));}private void MqttClient_Disconnected(object sender, EventArgs e){Invoke((new Action(() =>{txtReceiveMessage.AppendText("已斷開(kāi)MQTT連接!" + Environment.NewLine);})));}private void MqttClient_ApplicationMessageReceived(object sender, MqttApplicationMessageReceivedEventArgs e){Invoke((new Action(() =>{txtReceiveMessage.AppendText($">> {Encoding.UTF8.GetString(e.ApplicationMessage.Payload)}{Environment.NewLine}");//將收到的消息追加到相對(duì)路徑record.txt文件if (!File.Exists("record.txt")){File.Create("record.txt");}else{File.AppendAllText("record.txt", "\r\n");File.AppendAllText("record.txt", Encoding.Default.GetString(e.ApplicationMessage.Payload));}})));}//訂閱主題按鈕點(diǎn)擊事件private void btnSubscribe_Click(object sender, EventArgs e){string topic = txtSubTopic.Text.Trim();if (string.IsNullOrEmpty(topic)){MessageBox.Show("訂閱主題不能為空!");return;}if (!mqttClient.IsConnected){MessageBox.Show("MQTT客戶端尚未連接!");return;}//客戶端連接到服務(wù)端之后,可以使用 SubscribeAsync 異步方法訂閱消息,//該方法可以傳入一個(gè)可枚舉或可變參數(shù)的主題過(guò)濾器 TopicFilter 參數(shù),主題過(guò)濾器包含主題名和 QoS 等級(jí)。mqttClient.SubscribeAsync(new List<TopicFilter> {new TopicFilter(topic, MqttQualityOfServiceLevel.AtMostOnce)});txtReceiveMessage.AppendText($"已訂閱[{topic}]主題" + Environment.NewLine);}//發(fā)布主題private void button2_Click_1(object sender, EventArgs e){string topic = txtPubTopic.Text.Trim();if (string.IsNullOrEmpty(topic)){MessageBox.Show("發(fā)布主題不能為空!"); return;}string inputString = txtSendMessage.Text.Trim();//發(fā)布消息前需要先構(gòu)建一個(gè)消息對(duì)象 MqttApplicationMessage,//最直接的方法是使用其實(shí)構(gòu)造函數(shù),傳入主題、內(nèi)容、Qos 等參數(shù)。var appMsg = new MqttApplicationMessage(topic, Encoding.UTF8.GetBytes(inputString), MqttQualityOfServiceLevel.AtMostOnce, false);//得到 MqttApplicationMessage 消息對(duì)象后,//通過(guò)客戶端對(duì)象調(diào)用其 PublishAsync 異步方法進(jìn)行消息發(fā)布。mqttClient.PublishAsync(appMsg);}//連接到Mqtt服務(wù)器private void button_Connect_Click(object sender, EventArgs e){if (string.IsNullOrEmpty(textServerAddress.Text)){MessageBox.Show("服務(wù)器地址不能為空");}else {Task.Run(async () => {await ConnectMqttServerAsync();});}}//取消訂閱按鈕點(diǎn)擊事件private void btn_cancle_sub_Click(object sender, EventArgs e){string topic = txtSubTopic.Text.Trim();mqttClient.UnsubscribeAsync(new List<String> {topic});}} }

運(yùn)行客戶端

這里服務(wù)器地址就是本機(jī)地址,端口或者用戶名和密碼根據(jù)自己需要

然后就可以進(jìn)行主題的訂閱和發(fā)布了

然后在客戶端bin目錄下找到record.txt,可以看到追加到文件成功。

示例代碼下載

https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/19431291

參考文章:

https://www.cnblogs.com/kuige/articles/7724786.html

總結(jié)

以上是生活随笔為你收集整理的Winform中使用MQTTnet实现MQTT的服务端和客户端之间的通信以及将订阅的消息保存到文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

精品美女久久久久久免费 | 久久av高清 | 天堂va在线高清一区 | 四虎影视精品永久在线观看 | 日本论理电影 | 久久成熟| 日本中出在线观看 | 国产精品九九久久久久久久 | 96久久精品| 成人午夜黄色 | 激情av综合 | 韩国精品一区二区三区六区色诱 | 18性欧美xxxⅹ性满足 | 美女黄视频免费看 | 久久美女高清视频 | 手机在线观看国产精品 | 国产99久久久久久免费看 | 国产综合激情 | 国产成人一区二区三区电影 | 久久久久久国产精品免费 | 亚洲a网 | 婷婷福利影院 | 午夜aaaa| 久久国产亚洲视频 | 91精品久久久久久久久久久久久 | 99久久精品午夜一区二区小说 | 天天爱天天 | 久久草在线免费 | 韩国一区二区在线观看 | 麻豆视频成人 | 五月婷香 | 国产精品手机在线观看 | 黄色片免费电影 | 亚洲精品国久久99热 | 久久综合桃花 | 日韩在线播放视频 | 国产精品综合av一区二区国产馆 | 国产精品美女久久久久久久久 | 西西www444 | 四虎影视成人精品 | 天天操天天操天天操天天 | 久久99电影 | 91超碰在线播放 | av丝袜美腿 | 丁香伊人网 | 久久99国产精品免费网站 | av免费在线观看1 | 91av国产视频| 在线播放视频一区 | 欧美在线视频日韩 | 国产精品自在线 | 四虎在线免费观看 | 在线观看 国产 | 夜夜夜夜夜夜操 | 国产一区国产精品 | 久久久精品国产一区二区三区 | 欧美a在线免费观看 | 综合网五月天 | 久久午夜国产精品 | 日韩欧在线 | 久久久人| 国产专区在线播放 | 亚洲精品一区二区三区四区高清 | 成人在线播放视频 | 久久精品99国产 | 国产日韩欧美在线 | 99精品视频在线免费观看 | 999精品网 | 天天草天天干天天射 | 激情五月在线 | 九九九热精品免费视频观看 | 黄色激情网址 | 成人免费看黄 | 国产午夜精品福利视频 | 午夜婷婷综合 | 西西444www| 成人三级视频 | 一区中文字幕 | 99视频免费在线观看 | 国产视频日韩视频欧美视频 | 欧美日韩在线观看不卡 | 中文在线字幕免费观看 | 一色屋精品视频在线观看 | 成人午夜电影久久影院 | 日本在线观看黄色 | 日韩91在线 | 国产精品 久久 | 精品福利片 | 欧美亚洲专区 | 特级a毛片 | 亚洲一区二区三区四区在线视频 | 狠狠色丁香婷婷综合基地 | 视频一区在线免费观看 | 伊人黄| 在线国产片 | 91色吧| 久久久免费电影 | 午夜av在线播放 | 黄色大片网 | 亚洲成人av片 | a成人v在线 | 在线成人免费电影 | 五月天开心| 丁香av在线| 午夜精品久久久久99热app | 在线看一区| 亚洲一区二区三区四区在线视频 | 黄色亚洲精品 | 亚洲国产中文字幕 | 成在线播放 | 人人爽人人澡人人添人人人人 | 伊人干综合 | 亚洲精品乱码久久久久久蜜桃91 | 在线视频一区观看 | 国产午夜精品久久久久久久久久 | 亚洲欧美成人网 | 日本中文字幕在线观看 | 激情综合网五月激情 | 亚洲国产资源 | 97成人资源| 亚洲一二三区精品 | 激情在线网| 日本在线观看黄色 | 天天干夜夜爱 | 国产福利一区二区在线 | 午夜狠狠干 | 免费在线黄网 | 国产一区播放 | 国产三级香港三韩国三级 | 91在线九色| 亚洲视频电影在线 | 碰超在线97人人 | 九九有精品 | 日韩专区av | 国产精品成人自产拍在线观看 | 久久久男人的天堂 | 69国产盗摄一区二区三区五区 | 成人毛片在线观看视频 | 亚洲欧洲国产精品 | 久久日韩精品 | 国产精品18久久久久久久久 | 久草在线99 | 午夜精品视频福利 | 在线а√天堂中文官网 | 日本三级香港三级人妇99 | 中文永久免费观看 | 亚洲免费精品一区二区 | 成人动漫精品一区二区 | 国产精品一区二区在线播放 | 免费看污片| 色橹橹欧美在线观看视频高清 | 日韩av资源在线观看 | 天堂v中文| 丁香婷婷激情国产高清秒播 | 成人免费网视频 | 免费三级a | www.夜夜| 天天草天天爽 | 美女免费视频一区二区 | 亚洲国产999| 色偷偷网站视频 | 久久久久久免费毛片精品 | 国产91精品一区二区麻豆网站 | 我要色综合天天 | 99精品一区二区三区 | 久久久久夜色 | 日韩乱色精品一区二区 | 五月婷婷伊人网 | 69精品视频在线观看 | 亚洲欧美在线观看视频 | 热久久这里只有精品 | 色哟哟国产精品 | 中文在线免费视频 | 91影视成人 | 亚洲激情电影在线 | 久久国产热 | 日日夜夜天天射 | av黄色亚洲| 久草久热 | 国产一区二区在线影院 | 人人澡人摸人人添学生av | 亚洲视频 一区 | 国产精品自产拍在线观看网站 | 免费亚洲精品视频 | 97精品在线观看 | 国产精品中文字幕在线播放 | 久久久久久国产一区二区三区 | 亚洲最大免费成人网 | 久久久受www免费人成 | 精品欧美一区二区在线观看 | 99精品在线视频观看 | 亚洲高清在线视频 | 亚洲精品一区二区三区高潮 | 九九久久精品视频 | 国产一级片直播 | www.xxxx欧美| 亚洲一区二区三区毛片 | 国产精品永久免费 | 久久免费看av | 国产成人99av超碰超爽 | 国产精品扒开做爽爽的视频 | 国产精品18p | 波多野结衣视频一区 | 国产精品一区二区在线观看免费 | 日韩综合精品 | 黄色在线视频网址 | 婷婷丁香花| 成年免费在线视频 | 中文字幕有码在线播放 | 91在线视频免费观看 | 四虎影视8848dvd | 日韩欧美xxxx | 久久久久区 | www.激情五月.com | 欧美色图狠狠干 | 久久综合综合久久综合 | 亚洲激情网站免费观看 | 婷婷精品国产欧美精品亚洲人人爽 | 久久精品8 | 精品久久久久久久久久久院品网 | 婷婷新五月 | 97精品国产91久久久久久 | 精品资源在线 | 九月婷婷人人澡人人添人人爽 | 国产日产欧美在线观看 | 亚洲在线视频观看 | 国产精品不卡av | 国产原创av片 | 日韩a在线 | 天堂av在线网 | 亚洲精品66 | 色姑娘综合天天 | 一二三四精品 | 精品超碰 | 久久精品精品 | av在线进入| 成人黄色资源 | 国产精品久久久久久久毛片 | 国产v在线观看 | 91亚洲激情 | 激情综合网婷婷 | 亚州av网站大全 | 国产精品精品国产 | 天天天色综合 | 欧美精品在线观看免费 | 69xx视频| 亚洲永久精品视频 | 伊人天天 | 一本一本久久a久久精品牛牛影视 | 精品九九九九 | 免费在线观看一区 | 一区二区三区日韩在线 | 国产在线资源 | 粉嫩av一区二区三区入口 | 999久久久久久| 亚洲永久在线 | 99精品一区二区三区 | 国产一级免费视频 | 成人三级av| 欧美极品xxxxx| 久久成人国产精品免费软件 | 国产成人精品av久久 | 亚洲va天堂va欧美ⅴa在线 | 中文字幕色综合网 | 黄色国产区 | 亚洲精品影院在线观看 | 天天综合日日夜夜 | 在线观看福利网站 | 欧美淫视频 | 亚洲最大免费成人网 | 久久国产电影 | 亚洲视频久久久 | 日日夜夜操操操操 | 四虎影视www | 日韩av有码在线 | 超级碰碰免费视频 | 国产午夜视频在线观看 | 国产亚洲一级高清 | 国产欧美日韩视频 | 国产精品免费麻豆入口 | 国产另类av| 精品亚洲成a人在线观看 | 日韩av区| 麻豆视频在线免费看 | 日日天天av| 99久视频 | 久草视频资源 | 最近日韩免费视频 | 国产一区二区三区黄 | 亚欧洲精品视频在线观看 | 国产91精品久久久久久 | 日本一区二区三区免费看 | 日本狠狠干 | 久久国产精品免费一区 | 黄色软件在线看 | 99综合电影在线视频 | 美女av免费看 | 亚洲免费在线视频 | 国产精品av电影 | 色a网| 亚洲人成在线观看 | 免费看黄在线 | 九九久久婷婷 | 国产美女精品在线 | 97热视频| 天天综合久久综合 | 国产精品久久久久久久久久久杏吧 | 色欧美88888久久久久久影院 | 欧美一级艳片视频免费观看 | 国产视频中文字幕在线观看 | 国产午夜剧场 | www.狠狠插.com | 亚洲精品国产精品国自产观看浪潮 | 日韩中文字幕在线不卡 | 狠狠躁夜夜躁人人爽超碰91 | 中文视频一区二区 | 日韩免费电影网站 | 免费久久精品视频 | 最新av网址在线观看 | 久久97久久 | 日韩专区av | 日韩成人免费在线电影 | 日韩一区精品 | 999久久久久 | 免费观看十分钟 | 色婷婷成人| 国产精久久 | 欧美成人在线免费观看 | 玖玖视频国产 | 91视频大全 | 国产破处在线视频 | 公开超碰在线 | 福利av影院| 大荫蒂欧美视频另类xxxx | 在线а√天堂中文官网 | 久久久在线 | 久久精品毛片基地 | 日韩欧美视频免费观看 | 色婷婷六月天 | 久久人91精品久久久久久不卡 | www.狠狠色| 亚洲精品视频中文字幕 | 日本中文字幕在线一区 | 久久9999久久 | 九九热精品视频在线播放 | 免费欧美精品 | 国产精品第一 | 久久综合成人 | 成人久久18免费网站图片 | 一区二区三区动漫 | 日本精品一区二区 | 天堂网在线视频 | 国产精品免费观看国产网曝瓜 | 91黄色免费看 | 久久这里只有精品1 | 国产1区在线| 在线不卡中文字幕播放 | 日日夜夜人人天天 | 最新高清无码专区 | 天天色草| 亚洲欧美乱综合图片区小说区 | 337p日本欧洲亚洲大胆裸体艺术 | 中文字幕在线播放一区二区 | 中文字幕在线观看网站 | 成人小电影在线看 | 亚洲专区中文字幕 | 欧美日韩一区二区三区在线观看视频 | 日韩免费高清在线观看 | 免费看色视频 | 久久国内精品 | 亚洲精品一区二区久 | 午夜精品久久久久久久99水蜜桃 | 综合久久五月天 | 国产成人在线免费观看 | 五月综合激情 | 99综合影院在线 | 日本午夜免费福利视频 | 久久免费视频这里只有精品 | 天天天天干| 国产超碰在线观看 | 免费黄色网址网站 | 在线成人免费电影 | 五月婷影院 | 日日夜夜亚洲 | 麻豆91在线 | 免费观看www视频 | 久久久久久久亚洲精品 | 国产精品免费久久久久影院仙踪林 | 中文字幕av免费在线观看 | 国产中文a | 国产91精品一区二区麻豆亚洲 | 狠狠久久婷婷 | 国产小视频免费在线观看 | 色婷婷精品大在线视频 | 草久久久久久久 | 欧美精选一区二区三区 | 人人超在线公开视频 | 亚洲永久精品在线观看 | 日韩在线免费观看视频 | 精品国产一区二区三区四区在线观看 | 色小说av| 欧美人操人 | 香蕉视频在线免费 | 91精品国产乱码久久桃 | 1024手机基地在线观看 | 中文超碰字幕 | 亚洲视频免费视频 | 欧美综合在线视频 | 中文字幕久久久精品 | 国产女v资源在线观看 | 亚洲乱码国产乱码精品天美传媒 | 狠狠狠狠狠色综合 | 国产精品自产拍在线观看 | 高清精品久久 | 特级西西444www高清大视频 | 久久久久久久久免费 | 日本在线视频一区二区三区 | 天天躁日日躁狠狠 | 欧美性大战 | a成人v | 精品国产三级a∨在线欧美 免费一级片在线观看 | 91久久精品一区二区三区 | 欧美精品第一 | 91高清免费看 | 国产一区二区在线免费播放 | 久草视频观看 | 99久久久久成人国产免费 | 久久久久亚洲精品中文字幕 | 亚洲免费精品视频 | 伊人天天色 | 婷婷丁香六月 | 国产精品手机在线观看 | 欧美日韩精品网站 | 免费三级黄色片 | 91人人揉日日捏人人看 | 日一日操一操 | 国产在线播放一区二区三区 | 久久成人国产精品 | 色资源网在线观看 | 精品视频在线视频 | 久久久久久久综合色一本 | 丝袜一区在线 | 免费看日韩 | 久草青青在线观看 | 日本不卡久久 | 欧美a性 | 亚洲闷骚少妇在线观看网站 | 性色av免费在线观看 | 不卡的av在线播放 | 久操视频在线播放 | 亚洲精品美女免费 | 亚洲自拍偷拍色图 | 男女激情网址 | 成人午夜在线电影 | 国产在线无 | 欧美日韩国产在线精品 | 成人免费视频在线观看 | 国产精品videossex国产高清 | 视频一区亚洲 | 日韩精品免费在线 | 天天干,天天射,天天操,天天摸 | 久久久久激情电影 | 久久99在线观看 | 超碰官网 | 国产精品福利午夜在线观看 | 色婷婷免费视频 | 免费高清在线一区 | 国产精品大片在线观看 | 久久精品成人热国产成 | 精品伦理一区二区三区 | 国产区在线 | 在线亚洲欧美视频 | 亚洲一区 av| 99久久久久免费精品国产 | 中文字幕在线色 | 久久久久久久久久久成人 | 色婷婷免费视频 | 国产在线观看国语版免费 | 久久久久女教师免费一区 | 欧美久草网 | 日韩69av | 黄色小视频在线观看免费 | 久久久久亚洲精品男人的天堂 | www激情久久 | 在线影视 一区 二区 三区 | 国产xxxxx在线观看 | 99在线视频免费观看 | 精品国产综合区久久久久久 | 丝袜一区在线 | 国产精品2019 | 国产精彩视频 | 精品高清视频 | 特级黄色一级 | 久艹视频免费观看 | 午夜.dj高清免费观看视频 | 国产精品美女免费 | 人人插人人搞 | 久操伊人| 黄色av电影一级片 | 在线视频第一页 | www.操.com| 亚洲欧美日韩中文在线 | 久久综合九色综合欧美就去吻 | 国产在线无 | 日韩欧美视频一区二区三区 | 欧美精品v国产精品v日韩精品 | 久久精品国产一区二区三 | 国产精品一区二区av麻豆 | 日韩高清免费电影 | 91精品少妇偷拍99 | 国产精品久久久久久久久免费看 | www黄在线| 中文字幕在线乱 | 国产精品一二三 | 一区二区三区电影在线播 | 国产男女无遮挡猛进猛出在线观看 | 日本久久中文字幕 | 国产在线一区二区 | 亚洲精品在线免费观看视频 | 国产精品一区二区电影 | 国产精品久久久久999 | 草久在线播放 | 欧美性生活免费看 | 亚洲成人免费在线观看 | 高清一区二区三区 | 国产黄色在线网站 | 日本亚洲国产 | 99精品在线视频播放 | 日韩精品免费在线播放 | 视频在线观看亚洲 | 91麻豆精品91久久久久同性 | 国产亚洲aⅴaaaaaa毛片 | 成人在线网站观看 | 成人资源站| 91网址在线观看 | 奇米网8888 | 亚洲精品视频一 | 亚洲一级电影 | 久草精品免费 | 又大又硬又黄又爽视频在线观看 | 亚洲精品男女 | 久久成人在线视频 | 成人黄色在线电影 | 91视频久久| 日韩欧美一区二区三区在线观看 | 精品国产一区二区三区久久 | 99热网站| a视频在线看 | 亚洲精品国产精品99久久 | 天天色天天操综合 | 欧美日韩后 | 久久精品专区 | 97福利在线观看 | 亚洲精品中文字幕在线 | 黄色一级免费电影 | 91精品视频一区 | 99在线免费观看视频 | 99精品在这里 | 夜夜躁日日躁狠狠久久av | 久久精品99久久久久久 | 在线观看完整版免费 | 日韩毛片一区 | 黄色特级一级片 | 在线观看完整版免费 | 欧美激情精品久久久久久变态 | 国产人成一区二区三区影院 | 91精品国产高清自在线观看 | 中文字幕日韩一区二区三区不卡 | 久草在线一免费新视频 | 免费的黄色的网站 | www.黄色片网站 | 韩日精品视频 | 黄色av电影在线 | 99久在线精品99re8热视频 | 久久爱导航 | 国产一区二区在线观看免费 | 最新99热 | 狠狠色丁香久久综合网 | 成人app在线免费观看 | 亚洲国产av精品毛片鲁大师 | 999久久久久久 | 精品在线二区 | 九九热在线免费观看 | 96av在线视频 | 亚洲精品女人久久久 | 国产精品久久久久永久免费观看 | av成人亚洲 | 丁香婷婷综合激情 | 久久电影网站中文字幕 | 婷婷新五月| 97色狠狠| 日日日日日 | 手机在线小视频 | 日韩大片在线看 | 久久99精品国产麻豆宅宅 | 香蕉视频在线观看免费 | 国产视频2021| 看毛片网站 | 亚洲精品国产拍在线 | 激情综合国产 | 欧美精品乱码久久久久久按摩 | 中文字幕免费观看全部电影 | 麻豆精品国产传媒 | 日韩一级黄色片 | 在线免费观看av网站 | 中文字幕在线日本 | 国产精品美乳一区二区免费 | 午夜精品一区二区三区免费视频 | 亚洲人成在线观看 | 精品999久久久 | 香蕉视频18 | 国产精品对白一区二区三区 | www99精品| 久久a国产 | 亚洲成a人片综合在线 | 午夜影院一级 | 国产精品入口66mio女同 | 国产精品igao视频网入口 | 2022久久国产露脸精品国产 | 天天爽夜夜爽人人爽一区二区 | 在线看的毛片 | 碰超人人 | 日本在线观看中文字幕无线观看 | 亚洲好视频 | 久久免费视频3 | 成人cosplay福利网站 | 日本视频久久久 | 国产精品国产三级国产专区53 | 久久永久免费视频 | 黄色片免费在线 | 97超碰成人| 欧美日韩激情网 | 婷婷激情站| 99精品国产兔费观看久久99 | 99热官网| 国产精品丝袜久久久久久久不卡 | 永久免费精品视频 | 444av| 黄色av一区 | 99福利片| 狠狠色狠狠色 | 天天草夜夜 | 中文字幕欧美三区 | www.国产精品| 久久久wwww| 伊人黄色网| 97狠狠操 | 久久久免费看视频 | 97碰碰视频 | 婷婷激情久久 | 一区二区三区日韩精品 | 中文永久免费观看 | 久久久免费精品国产一区二区 | 亚洲无线视频 | 97在线免费观看 | 超碰免费观看 | 国产精品国产三级国产不产一地 | 天天操欧美 | 久久综合网色—综合色88 | 美女在线免费视频 | 国产中文字幕在线看 | 国产黄网在线 | 久久久麻豆视频 | 国产成人精品久久亚洲高清不卡 | 日韩精品一二三 | 日韩r级电影在线观看 | 91九色视频在线播放 | 午夜久久久影院 | 欧美精品国产综合久久 | 99热超碰在线 | 91av美女| 精品亚洲国产视频 | 四川妇女搡bbbb搡bbbb搡 | www.五月天激情 | 国产成人精品亚洲a | 亚洲一级影院 | 日本aaaa级毛片在线看 | 色狠狠一区二区 | 国产亚洲精品日韩在线tv黄 | 国产精品综合av一区二区国产馆 | 国产无遮挡猛进猛出免费软件 | 国产精品欧美日韩 | 午夜视频在线观看网站 | 色97在线 | 伊人夜夜 | 天天天综合网 | 免费在线观看污 | 超碰在线观看97 | 精品久久久久久久久久久久 | 久久人人爽视频 | 精品福利视频在线观看 | 韩国精品福利一区二区三区 | 日韩成人一级大片 | 日韩精品免费专区 | 超碰在线公开免费 | 国产91综合一区在线观看 | 蜜桃视频精品 | 九九热只有这里有精品 | 国产v亚洲v | 日韩免费视频在线观看 | 丁香视频免费观看 | 亚洲六月丁香色婷婷综合久久 | 在线视频电影 | 1000部18岁以下禁看视频 | 蜜桃视频成人在线观看 | 成人影片在线免费观看 | 国产精品嫩草影院9 | 激情综合色播五月 | 国产69久久久 | 在线黄色国产电影 | 一本一本久久a久久精品综合 | 日韩在线视频看看 | 激情视频区 | 中文字幕在线视频一区二区三区 | 黄色软件在线观看 | 国产不卡精品视频 | 国产伦精品一区二区三区四区视频 | 国产亚洲在线视频 | 国内精品中文字幕 | 久久免费视频6 | 国产一区二区视频在线 | 六月丁香婷 | 美女av在线免费 | 国产亚洲精品久久久久久移动网络 | 日韩精品一区二区三区中文字幕 | 久久在线观看视频 | 国产一区电影在线观看 | 99在线精品视频在线观看 | 久久综合99| 日韩av一区在线观看 | 一区二区三区www | 国产亚洲在线观看 | 久久精品国产精品亚洲精品 | 欧美性极品xxxx娇小 | 亚洲精品国产成人av在线 | 91成人精品一区在线播放 | 成人在线播放免费观看 | 香蕉国产91 | 麻豆影视在线播放 | 久久精品电影院 | 日韩有码在线播放 | 狠狠久久 | 国产视频首页 | 亚洲欧美成人综合 | 日韩在线观看不卡 | 国产黄色一级片在线 | 久久成人精品视频 | 亚洲人成影院在线 | 一区二区三区四区五区在线视频 | 色姑娘综合网 | 国产精品a成v人在线播放 | 久久香蕉电影网 | 日本午夜免费福利视频 | 亚洲精品视频免费在线 | 成人久久18免费网站 | 91av视频在线观看 | 欧美怡红院视频 | 天天人人 | 中文字幕中文字幕在线中文字幕三区 | 日韩av一区二区在线播放 | 久久久精品欧美一区二区免费 | 99视频国产精品 | 伊人伊成久久人综合网站 | 九九九在线观看视频 | 国产在线免费观看 | 毛片网站观看 | 久草精品在线播放 | 亚洲涩涩网站 | 波多野结衣一区二区三区中文字幕 | 久草在线免费电影 | 波多野结衣电影久久 | 免费看精品久久片 | 日韩国产高清在线 | 成年人在线观看视频免费 | 看污网站 | 国产日韩精品一区二区三区在线 | 欧美久久久久久久久久久 | 99视频精品免费视频 | 99免费观看视频 | 国产精品久久久久一区二区三区 | 日韩视频在线播放 | 日韩欧美在线高清 | 日韩欧美精品在线观看 | 色资源二区在线视频 | 免费成人av在线 | 91精品视频在线免费观看 | 国产精品男女视频 | 97超碰精品 | 正在播放五月婷婷狠狠干 | 精品 激情 | 国产一级片免费视频 | 国产乱码精品一区二区三区介绍 | 久久久网站 | 久久久国产精品一区二区中文 | 成人h动漫精品一区二 | 亚洲黄色在线 | 91麻豆精品国产91久久久久久久久 | 国产又粗又猛又黄又爽的视频 | 九九精品久久 | 精品亚洲国产视频 | 国产91在线观| 97视频中文字幕 | 超碰97免费在线 | 国产精品第一页在线观看 | 少妇bbb搡bbbb搡bbbb′ | 久久精品一区二区三区四区 | 午夜婷婷在线观看 | 操久久网 | 免费毛片一区二区三区久久久 | 久久久精选 | 久久99精品国产91久久来源 | 国产精品99久久久久人中文网介绍 | 18国产精品福利片久久婷 | 九热精品| 日韩久久久久久久久 | 国产亚洲精品久久久久久久久久久久 | 色先锋资源网 | 最近免费中文字幕mv在线视频3 | 日韩av一区二区在线影视 | 丁香狠狠| 激情五月婷婷综合 | 一本一本久久a久久精品综合 | 干干日日| 日韩欧美综合在线视频 | 久久av高清| 欧美一级欧美一级 | 亚洲国产日韩精品 | 久草视频手机在线 | 最新日韩电影 | 久久99国产精品二区护士 | 精品国产一区二区三区久久久 | 久久精品aaa| 91在线看网站 | 久久精品1区 | 久久国产经典 | 久久久久久久久久久久久久免费看 | 婷婷色社区 | 中文字幕成人在线 | 99久久久国产免费 | 黄色片亚洲 | 婷婷丁香激情五月 | 99久久影院 | 亚洲精品日韩av | 人人澡人人模 | 国产在线精品国自产拍影院 | 国产午夜在线观看视频 | 天天曰夜夜操 | www.成人久久 | 久久国产综合视频 | 国产精品女教师 | 国产成人精品一区二区三区 | 成人动态视频 | 亚洲va欧美va人人爽春色影视 | 婷婷丁香激情五月 | 精品电影一区 | 日韩v欧美v日本v亚洲v国产v | 国产一区二区在线观看免费 | 蜜臀av麻豆| 波多野结衣视频网址 | 在线中文字幕视频 | 亚洲国产精久久久久久久 | 伊人天天狠天天添日日拍 | 久久免费国产电影 | 久久久久亚洲精品成人网小说 | 亚洲精品视频免费在线观看 | 精品国自产在线观看 | 四虎成人免费影院 | 亚洲成人午夜在线 | 在线色视频小说 | 中文字幕在线视频国产 | 韩日av一区二区 | 欧美色精品天天在线观看视频 | 久9在线 | 精品99免费视频 | 亚洲成人精品av | 午夜免费在线观看 | 中文字幕999 | 成人9ⅰ免费影视网站 | www.夜夜操 | 2019精品手机国产品在线 | 日本精品久久久久久 | www.久久91 | 免费福利在线播放 | 欧美视频xxx | 亚洲国产精品成人女人久久 | 久久免费国产精品 | 免费电影播放 | 精品一区欧美 | 国产不卡免费av | 日日麻批40分钟视频免费观看 | 国产午夜一区二区 | 久久久久久久久久久久久国产精品 | 久久精品国产亚洲 | 久久99网站 | 在线观看岛国 | 麻豆视频免费版 | 三上悠亚在线免费 | av大全在线免费观看 | 国产精品激情偷乱一区二区∴ | 波多野结衣在线中文字幕 | av中文字幕网址 | 亚洲男男gaygayxxxgv | 91看片网址 | 日韩网站一区二区 | 一区二区成人国产精品 | 91看毛片 | 手机看片中文字幕 | 又黄又爽又刺激的视频 | 在线黄色观看 | 99久久精品国产一区二区三区 | 97在线资源| 中文字幕中文字幕 | 日韩免费视频网站 | 狠狠干综合网 | 亚洲精品在线播放视频 | 免费午夜视频在线观看 | 日韩免费在线网站 | 国产99久久久久 | 久草com| 国产黄色免费在线观看 | 久久综合婷婷国产二区高清 | 最近中文字幕免费大全 | 久久在现视频 | 日韩电影一区二区三区 | 成人免费观看av | 99久久一区 | 久草在线免费电影 | 99精品系列 | 欧美久久久久久久久中文字幕 | 日韩在线视频看看 | 免费在线观看av网站 | 久久久久久久久久久精 | 狠狠干免费| 亚洲不卡av一区二区三区 | 中文日韩在线 | 婷婷综合成人 | 国产一区二区三区午夜 | 国产精品成人久久久久久久 | 91在线影视 | 777视频在线观看 | 亚洲欧美综合 | 亚洲成av人片在线观看香蕉 | 久久艹久久 | 国产在线观看91 | 亚洲免费高清视频 | 国产精品99久久免费观看 | 天天插天天狠天天透 | 黄色成人毛片 | 天天操天天爱天天爽 | 亚洲精品国产免费 | 337p欧美| 久碰视频在线观看 | 在线观看黄污 | 亚洲区精品 | 玖玖玖影院 | 奇米影视8888在线观看大全免费 | 久久久久久久久久网站 | 久久这里只有精品首页 | 免费观看版| 国产精品久久久久久久久久直播 | 亚洲最大激情中文字幕 | 国产三级午夜理伦三级 | 精品一区精品二区高清 | 国产亚洲精品久久久久久久久久久久 | 久久成人亚洲欧美电影 | 久久久久久久久久久久99 | 天天干天天做 | 永久免费精品视频网站 | 开心激情网五月天 | 最近日韩免费视频 | 久久99精品国产99久久 | 中文字幕视频在线播放 | 亚洲午夜精品久久久久久久久久久久 | 国产精品麻豆视频 | 91久久奴性调教 | 亚洲精品视频免费在线观看 | 综合色在线观看 | 91精品国产九九九久久久亚洲 | 中文字幕国内精品 | 日韩女同一区二区三区在线观看 | www.亚洲精品在线 | 天天操综合| 亚洲成人中文在线 | 日韩高清精品一区二区 | av不卡免费看 | 精品欧美乱码久久久久久 | 国产成人精品久久亚洲高清不卡 | 中文字幕在线播放日韩 | 我爱av激情网 | 色综合天天综合网国产成人网 | 欧美va天堂va视频va在线 | 亚洲97在线 | 国产涩图 | 婷婷精品国产一区二区三区日韩 | 97超级碰碰碰视频在线观看 | 成人黄色在线电影 | 日韩在线观看精品 | 综合激情婷婷 |