精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳解 QT 4中構(gòu)建多線程服務(wù)器

移動開發(fā)
對于服務(wù)器來說,多線程的這個特性太有用了,因為多線程使得服務(wù)器可能同時響應(yīng)多個客戶端的請求,所以現(xiàn)在服務(wù)器大多采用多線程。

首先說一下對多線程這個名詞的理解過程。以前聽說過很多次多線程這個詞,而且往往與服務(wù)器聯(lián)系起來,因此一直把多線程誤解為服務(wù)器特有的功能;直到這次課程設(shè)計,仔細學(xué)習了一下多線程的機制,才知道真正的意思。簡單的來說,就是同時有多個線程一起運行,而不同的線程可以執(zhí)行不同的操作。舉個例子,一個圖像處理工具,可以用鼠標一邊移動圖像,一邊用快捷鍵縮放圖像,此時,移動圖像、縮放圖像就是不同的線程來處理的,如果不支持多線程而是單線程的,那么只能挨個操作了。

而對于服務(wù)器來說,多線程的這個特性太有用了,因為多線程使得服務(wù)器可能同時響應(yīng)多個客戶端的請求,所以現(xiàn)在服務(wù)器大多采用多線程,所以才會造成我開始的誤解。

不管是多線程,還是服務(wù)器QT中已經(jīng)封裝好了特定的類,所以使用起來也很方便。下面建立一個支持多線程、TCP的服務(wù)器。

首先建立一個服務(wù)器。新建一個類(Server)繼承QT中的QTcpServer類即可。服務(wù)器的職責是監(jiān)聽端口。當監(jiān)聽到有客戶端試圖與服務(wù)器建立連接的時候,分配socket與客戶端連接,再進行數(shù)據(jù)通信。QTcpServer的listen()方法執(zhí)行監(jiān)聽過程,可以指定監(jiān)聽的地址和端口。若給定了QHostAddress類型的監(jiān)聽地址,則監(jiān)聽該地址,否則,監(jiān)聽所有地址;若給定了quint16類型的監(jiān)聽端口,則監(jiān)聽該端口,否則,隨機選定一個監(jiān)聽端口。

  1. view plaincopy to clipboardprint?  
  2. Server * server = new Server;      
  3. if(!server->listen(host,port)){      
  4. ...//error      
  5. }    

Server * server = new Server;if(!server->listen(host,port)){...//error}QTcpServer有一個虛函數(shù)incomingConnection(int socketDescriptor),服務(wù)器每當監(jiān)聽到一個客戶端試圖建立連接的時候,會自動調(diào)用這個函數(shù),因此,處理這個請求的過程就可以在這個函數(shù)中電影,即在子類Server的定義階段,重新定義incomingConnection()這個函數(shù)。

對于一個多線程的服務(wù)器,每當客戶端試圖連接的時候,服務(wù)器應(yīng)該啟動一個線程,負責對這個客戶端進行服務(wù),所以,incomingConnection()這個函數(shù)所要做的就是建立一個線程,而所建立的線程的作用就是對客戶端進行服務(wù),而這其中建立socket連接是基礎(chǔ)。服務(wù)器在監(jiān)聽到客戶端試圖建立socket連接時,會為此socket分配一個唯一的標識socketDescriptor,這個標識將在服務(wù)器端建立socket連接時使用,所以應(yīng)提供給每一個線程。

在QT中使用多線程,建立一個類(Thread)繼承QThread類即可。QThread類也有一個虛函數(shù),這個函數(shù)是run(),線程建立并啟動(QThread::start())后,就會執(zhí)行這里面的代碼,因此,線程的邏輯過程就應(yīng)該在run()里面定義。服務(wù)器的線程要根據(jù)socketDescriptor標識的socket建立連接,然后進行數(shù)據(jù)通信,所以要將socketDescriptor傳入到Thread中,前面說過,線程是在incomingConnection()里面建立,用構(gòu)造函數(shù)將socketDescriptor傳入Thread類,再用socketDescriptor建立socket連接。

定義incomingConnection()

  1. view plaincopy to clipboardprint?  
  2. void incomingConnection(int socketDescriptor){      
  3.      Thread * thread = new Thread(socketDescriptor);      
  4.     thread->start();      
  5. }     
  6. void incomingConnection(int socketDescriptor){    Thread * thread = new Thread(socketDescriptor);    thread->start();}定義run()  
  7. view plaincopy to clipboardprint?  
  8. void run(){      
  9.      QTcpSocket * socket = new QTcpSocket(socketDescriptor);      
  10.      ...//數(shù)據(jù)通信      
  11. }     
  12. void run(){    QTcpSocket * socket = new QTcpSocket(socketDescriptor);    ...//數(shù)據(jù)通信}自此,一個簡單的多線程服務(wù)器建立完畢。 

寫的不好,望請指教。

QT4中socket通信

最近的軟件工程課程設(shè)計讓我重新開始使用QT,上次數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計也是用QT,雖然是做出來了,但是現(xiàn)在想想,那個時候?qū)T的理解,或者說得更廣一點,對OO的理解,簡直太差勁了,當然,人的知識是進步的,所以現(xiàn)在有這樣的感受是很正常的。雖然整體的開發(fā)工作還沒有完全結(jié)束,但是已經(jīng)有了很多心得體會,所以特來記錄分享一下。

我們的系統(tǒng)采用的是C/S結(jié)構(gòu),所以客戶端與服務(wù)器通信是最關(guān)鍵,不幸的是,雖然我們沒有用過QT的socket類,我們也沒有估計好通信的難度,等到意識到第一次使用的困難時,已經(jīng)是第5天了,始終沒有進展,我臨危受命。現(xiàn)在是第6天,剛剛把通信模塊封裝好,算是對這兩天的突擊的一個回報。

#p#

我們遇到的問題socket已經(jīng)建立,并且發(fā)送端已經(jīng)將消息發(fā)送,但是接收端始終收不到消息。(我用的socket類型是TCP,也就是QTcpSocket類)

發(fā)送端(發(fā)送端一直不存在問題)代碼如下:

  1. view plaincopy to clipboardprint?  
  2. ... // 建立連接,客戶端和服務(wù)器端有區(qū)別,在此省略<BR>      
  3. QByteArray block;      
  4. QDataStream out(&block,QIODevice::WriteOnly);  // 寫信息至block中,用到QDataStream類<BR>      
  5. socket.write(block);// 信息寫完畢,寫入socket,由socket發(fā)送<BR>      
  6. socket.disconnectFormHost();      
  7. socket.waitForDisconnected();     
  8. ... // 建立連接,客戶端和服務(wù)器端有區(qū)別,在此省略QByteArray block;QDataStream out(&block,QIODevice::WriteOnly);  
  9. // 寫信息至block中,用到QDataStream類socket.write(block);
  10. // 信息寫完畢,寫入socket,由socket發(fā)送socket.disconnectFormHost();socket.waitForDisconnected();有問題的接收端代碼如下:  
  11. view plaincopy to clipboardprint?  
  12. ... // 建立連接<BR>      
  13. QDataStream in(&socket);// 接收socket中的數(shù)據(jù)流<BR>      
  14. ... // 從數(shù)據(jù)流 in 中讀數(shù)據(jù)     
  15. ... // 建立連接QDataStream in(&socket);// 接收socket中的數(shù)據(jù)流... // 從數(shù)據(jù)流 in 中讀數(shù)據(jù) 

以上是最原始的接收和發(fā)送端工作過程,調(diào)試過程中,分別講兩端的socket的狀態(tài)打印出來,結(jié)果是發(fā)送端為A connection is established. 而接收端為The socket has started establishing a connection. 也就是說發(fā)送端正確的建立了連接,并將數(shù)據(jù)寫入,而接收端只是正在建立連接,而并沒有建立好,所以是根本不會受到數(shù)據(jù)的。所以先要確保接收端的連接建立好。waitForConnected()方法就可以解決這個問題,它將一直等待直到連接已經(jīng)建立。

改進后的接收端代碼:

  1. view plaincopy to clipboardprint?  
  2. ... // 建立連接<BR>      
  3. socket.waitForConnected(5000) // 5000表示等待的時間,默認參數(shù)為3000,單位是百萬分之一秒      
  4. QDataStream in(&socket);// 接收socket中的數(shù)據(jù)流<BR>      
  5. ... // 從數(shù)據(jù)流 in 中讀數(shù)據(jù)     
  6. ... // 建立連接socket.waitForConnected(5000)   
  7. // 5000表示等待的時間,默認參數(shù)為3000,單位是百萬分之一秒QDataStream in(&socket);  
  8. // 接收socket中的數(shù)據(jù)流...   
  9. // 從數(shù)據(jù)流 in 中讀數(shù)據(jù)此時,接收端輸出的socket狀態(tài)為A connection is established,連接成功建立。 

但是還是收不到信息,參考了一下別人的程序,再比對一下參考手冊,原來QTcpSocket的爺爺類(其實是父類QAbstractSocket的父類)QIODevice有一個readyRead的信號(signal),當信息準備好并可以讀的時候,這個信號就將發(fā)出,也就是說,只有當這個信號發(fā)出的時候,才可以讀消息。所以要把讀消息的動作read作為一個槽(slot),并將其與readyRead信號連接。

  1. view plaincopy to clipboardprint?  
  2. connect(&socket,SIGNAL(readyRead()),this,SLOT(read()));     
  3. connect(&socket,SIGNAL(readyRead()),this,SLOT(read())); 

但是直接觸發(fā)socket信號,而不用圖形界面的動作來觸發(fā)一個動作并由這個動作來觸發(fā)socket信號一直也觸發(fā)不了read這個動作。但是我要封裝成一個接口類提供給上層使用,用圖形界面自然是不現(xiàn)實的,于是翻閱了手冊,發(fā)現(xiàn)了一個QAbstractSocket類的一個方法——waitForReadyRead(),這個方法將一直等待到數(shù)據(jù)可以讀時結(jié)束,此時就可以讀數(shù)據(jù)了。方法也很簡單:

  1. view plaincopy to clipboardprint?  
  2. ... // 建立連接<BR>      
  3. socket.waitForConnected(5000) // 5000表示等待的時間,默認參數(shù)為3000,單位是百萬分之一秒<BR>      
  4. if(!socket.waitForReadyRead(3000)){//3000為等待時間,沒有默認的等待時間,單位是百萬分之一秒      
  5. return ;      
  6. }<BR>      
  7. QDataStream in(&socket);// 接收socket中的數(shù)據(jù)流<BR>      
  8. ... // 從數(shù)據(jù)流 in 中讀數(shù)據(jù)     
  9. ... // 建立連接socket.waitForConnected(5000) // 5000表示等待的時間,默認參數(shù)為3000,單位是百萬分之一秒
  10. if(!socket.waitForReadyRead(3000)){//3000為等待時間,沒有默認的等待時間,單位是百萬分之一秒return ;  
  11. }  
  12. QDataStream in(&socket);// 接收socket中的數(shù)據(jù)流... // 從數(shù)據(jù)流 in 中讀數(shù)據(jù)這樣,數(shù)據(jù)成功讀取出來,實現(xiàn)數(shù)據(jù)的通信。 

單向的數(shù)據(jù)傳輸問題解決了,然后再利用單向的數(shù)據(jù)通信組裝成雙向的數(shù)據(jù)通信,這過程中也會遇到不少問題,將在另一篇日志介紹。

原文地址:http://blog.csdn.net/dongfangyu/archive/2010/10/03/5919789.aspx

小結(jié):關(guān)于詳解 QT 4中構(gòu)建多線程服務(wù)器的內(nèi)容介紹完了,希望本文對你有所幫助!更多內(nèi)容請參考編輯推薦。

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-01 10:35:20

QT 多線程 TCP

2009-02-27 11:15:00

多線程服務(wù)器MTS專用服務(wù)器

2018-01-11 08:24:45

服務(wù)器模型詳解

2011-06-13 10:03:19

Qt 多線程 編程

2018-11-28 09:53:50

游戲服務(wù)器線程

2011-12-08 13:04:06

JavaNIO

2011-06-30 17:31:32

Qt 多線程 信號

2010-03-17 17:54:25

java Socket

2010-03-19 14:01:55

Java Socket

2009-02-18 10:41:16

多線程服務(wù)器穩(wěn)定Java

2018-12-20 09:36:24

2011-06-20 13:43:08

Qt Socket 線程

2010-03-16 10:50:21

Java多線程服務(wù)器

2011-03-29 15:30:20

Zabbix服務(wù)器

2011-06-24 11:12:39

Qt 多線程 線程

2011-06-24 11:03:31

Qt 多線程 線程

2010-03-16 13:47:48

Java多線程服務(wù)器

2010-08-05 13:40:06

NFS服務(wù)器

2011-02-25 16:14:09

proftpdftp

2011-02-25 16:14:09

proftpdftp
點贊
收藏

51CTO技術(shù)棧公眾號

国产啪精品视频网站| 色婷婷综合激情| 亚洲综合日韩在线| 亚洲色图 激情小说| 亚洲精品福利电影| 欧美国产日本视频| 国产精品久久久久久久久影视| 国产99在线 | 亚洲| 另类一区二区三区| 久久久精品黄色| 成人国产在线激情| 亚洲国产综合久久| 国产成人在线中文字幕| 精品露脸国产偷人在视频| 日本成人黄色| 午夜婷婷在线观看| 91亚洲国产| 亚洲第一区在线| 无码aⅴ精品一区二区三区浪潮| 岛国视频免费在线观看| 国产一区日韩二区欧美三区| 日韩中文字幕视频在线| 国产a√精品区二区三区四区| 69久成人做爰电影| 亚洲欧洲精品成人久久奇米网| 国产高清自拍一区| 国产精品露脸视频| 亚洲国产影院| 日韩中文字幕在线观看| 丰满岳乱妇一区二区| 精品成人免费一区二区在线播放| 亚洲欧美一区二区三区极速播放 | 日韩美女精品在线| 国产伦视频一区二区三区| 中文字幕在线天堂| 亚洲婷婷在线| 中文日韩在线视频| 成人在线视频免费播放| 国产精品一区二区三区四区在线观看| 五月天国产精品| www.午夜色| 二区在线视频| 91性感美女视频| 亚洲综合日韩在线| 亚洲无码久久久久久久| 国产精品久久久免费| 欧美理论片在线观看| 波多野结衣av在线观看| 黄色欧美在线| 欧美一级黄色大片| 日本xxxx黄色| 欧美日韩精品免费观看视完整| 中文欧美字幕免费| 免费一区二区三区在在线视频| www.好吊色| 国内精品国产成人| 国产精品久久在线观看| 国产性猛交普通话对白| 亚洲欧美综合国产精品一区| 亚洲人av在线影院| 香港三日本8a三级少妇三级99| 伊人久久大香线蕉综合影院首页| 欧美性色黄大片| 欧美一级黄色影院| 福利在线免费视频| 亚洲欧美另类久久久精品| 视频一区国产精品| av网站在线免费播放| 久久久精品日韩欧美| 欧美另类一区| 日韩a级作爱片一二三区免费观看| 成人精品免费看| 国产三区二区一区久久| 精品国产亚洲AV| 国产suv一区二区三区88区| 91亚洲精品在线| 国产区精品在线| 国产成人99久久亚洲综合精品| 国产男人精品视频| 中文字幕欧美色图| 日本女优在线视频一区二区| 国产精品久久久久久久久久小说 | 蜜臀久久久久久久| 国产欧美婷婷中文| 中文字幕精品三级久久久| 免费看的黄色欧美网站| 国产suv精品一区二区| 日韩欧美国产亚洲| 久久久久91| 日本三级韩国三级久久| 久久久国产免费| 久久精品国产亚洲aⅴ| 96国产粉嫩美女| 高清乱码毛片入口| 99re热这里只有精品视频| 欧美精品成人一区二区在线观看| 无码精品在线观看| 国产蜜臀97一区二区三区| 黄瓜视频免费观看在线观看www| 欧美69xxxx| 亚洲成人动漫av| 欧美 日韩 国产 高清| 精品3atv在线视频| 欧美视频三区在线播放| 亚洲高清免费观看高清完整版在线观看| 国产精品国产精品国产专区蜜臀ah | zzzwww在线看片免费| 国产精品久久久久毛片软件| 艳母动漫在线观看| 五月天激情在线| 黑人巨大精品欧美一区二区免费| 日韩a级在线观看| 青草视频在线免费直播| 色域天天综合网| 国产aaaaa毛片| 亚洲国产视频二区| 亚洲欧美一区二区三区在线| 肉色超薄丝袜脚交69xx图片| 激情婷婷欧美| 国产日韩欧美一二三区| 国产精品毛片一区二区在线看舒淇 | 国产麻豆91视频| 91网页版在线| av动漫在线免费观看| 伊伊综合在线| 日韩欧美国产一区在线观看| 人妻精品久久久久中文| 亚洲视频精品| 成人av在线亚洲| 精品资源在线看| 亚洲成人综合网站| 黄色a级片免费| 亚洲精品国产九九九| 一个色综合导航| 国产情侣自拍av| 国产伦精品一区二区三区免费 | 一区二区三区在线免费看| 亚洲天堂免费观看| 国产乱码久久久久久| 激情都市一区二区| 亚洲a∨一区二区三区| 超级碰碰不卡在线视频| 91精品国产综合久久蜜臀| 色呦呦一区二区| 精品福利电影| 欧美熟妇乱码在线一区| 99久久婷婷国产综合精品电影| 自拍另类欧美| 亚洲综合视频| 久久久999精品视频| 一级做a爰片久久毛片16| 国产欧美1区2区3区| jizz欧美激情18| 日韩一区欧美| 成人欧美一区二区三区在线湿哒哒| 成全电影播放在线观看国语| 色噜噜狠狠色综合中国| 欧洲美一区二区三区亚洲| 欧美亚洲视频| 日韩成人在线资源| 在线国产成人影院| 日韩网站免费观看| 国产精品久久久久久在线| 一区二区三区在线免费观看| 成人做爰69片免费| 99精品久久久| 久久久亚洲综合网站| 久九九久频精品短视频| 伊人精品在线观看| 国产孕妇孕交大片孕| 亚洲精品网站在线观看| 免费在线观看日韩av| 99pao成人国产永久免费视频| 欧美12av| 伊人亚洲精品| 久久免费观看视频| 日本大片在线观看| 欧美日本免费一区二区三区| 青青草原在线免费观看视频| av亚洲精华国产精华| 亚洲色图久久久| 亚洲国产精品日韩专区av有中文| 99久热re在线精品996热视频| sm捆绑调教国产免费网站在线观看 | 欧美日韩精品福利| 中国1级黄色片| 国产 日韩 欧美大片| 日韩精品一区二区三区色欲av| 久久裸体网站| 国产有色视频色综合| 91亚洲视频| 久久免费国产视频| 色的视频在线免费看| 亚洲国产福利在线| 中文字幕在线观看高清| 香蕉久久一区二区不卡无毒影院| 国产又黄又粗视频| 成人国产精品免费观看视频| 中文字幕av不卡在线| 亚洲人体大胆视频| 日本三级福利片| 国产精品片aa在线观看| 成人免费看片网站| 欧美性生活一级| 日韩**中文字幕毛片| 日韩精品卡一| 中文字幕亚洲国产| 五月婷婷六月丁香| 日韩一区二区三区免费看| 成人毛片一区二区三区| 亚洲午夜国产一区99re久久| 色屁屁草草影院ccyy.com| 成人毛片在线观看| 网站在线你懂的| 日本中文字幕不卡| 日本三级免费观看| 在线高清一区| 国产肉体ⅹxxx137大胆| 日韩在线不卡| 色播亚洲婷婷| jiujiure精品视频播放| 久久精品一二三区| 国内精品偷拍| 国产一区福利视频| 91国内精品| 91丨九色丨国产| 成人在线日韩| 国产裸体写真av一区二区 | 生活片a∨在线观看| 亚洲深夜福利在线| 亚洲AV成人无码一二三区在线| 精品嫩草影院久久| 性一交一乱一乱一视频| 欧美一区二区女人| 国产日产亚洲系列最新| 欧美日韩成人高清| 91女人18毛片水多国产| 欧美视频一区在线| 中文字幕一二区| 欧美在线一区二区三区| 日本一本在线观看| 91国模大尺度私拍在线视频| 亚洲国产av一区二区三区| 欧美日韩国产色| 综合激情网五月| 色综合天天综合狠狠| 美女又爽又黄免费视频| 一本色道久久综合狠狠躁的推荐| 97久久久久久久| 色婷婷综合久色| 国产精品无码粉嫩小泬| 欧美最猛黑人xxxxx猛交| 九九热最新视频| 欧美日韩精品专区| 一级淫片免费看| 欧美一区二区不卡视频| 亚洲av无码一区二区乱子伦| 亚洲аv电影天堂网| 天天av天天翘| 亚洲欧美国产精品久久久久久久 | 6—12呦国产精品| 欧美日韩国产片| av 一区二区三区| 精品国产一区二区三区四区四 | 国产午夜精品一区在线观看| 97se亚洲综合在线| 欧美重口另类| 新呦u视频一区二区| 欧美成人一品| 男人添女人下面高潮视频| 久久九九免费| 国产又黄又猛的视频| 国产成人在线观看免费网站| 女同性恋一区二区三区| 久久精品男人天堂av| 91香蕉视频污在线观看| 亚洲精品视频一区二区| 日本三级网站在线观看| 欧美影院一区二区| 国产三级精品在线观看| 日韩电视剧在线观看免费网站| 国产乱视频在线观看| 久久av在线看| 黄色成人免费网| 97久草视频| 亚洲自拍电影| 五月天激情图片| 巨乳诱惑日韩免费av| 在线免费观看av网| wwwwxxxxx欧美| 午夜精品福利在线视频| 欧美日韩在线免费| av在线亚洲天堂| 国产亚洲一区二区精品| 麻豆蜜桃在线| 国产热re99久久6国产精品| 国产区精品视频在线观看豆花| 日韩尤物视频| 亚洲欧洲午夜| 午夜视频在线观| 国产亚洲人成网站| 久久一级黄色片| 欧美日韩成人综合| 精品久久av| 午夜精品一区二区三区在线视| 欧美成人三级| 欧美一区免费视频| 一区在线播放| 久久发布国产伦子伦精品| 欧美国产精品一区二区| 天天操天天干视频| 日韩精品中文字幕在线不卡尤物| yw193.com尤物在线| 51久久精品夜色国产麻豆| 精品视频国内| 一区二区三区四区视频在线| 久久婷婷激情| 亚洲第九十七页| 精品久久久精品| 成人午夜精品福利免费| 精品久久久999| 国产福利一区二区三区在线播放| 玖玖玖精品中文字幕| 一区二区亚洲精品| 麻豆tv在线观看| 一区二区三区高清不卡| 国产男女无套免费网站| 日韩一中文字幕| 国产精品久久久久77777丨| 欧美xxxx黑人又粗又长精品| 亚洲欧美成人综合| 风间由美一二三区av片| 亚洲成人午夜影院| 成人免费一级视频| 久久久久中文字幕2018| 成人爽a毛片免费啪啪红桃视频| 亚洲色图都市激情| 国产成人在线色| 精品人妻在线播放| 精品对白一区国产伦| а√天堂资源官网在线资源| 国产一区二区三区无遮挡| 亚洲精选91| 在线黄色免费网站| 欧美色xxxx| 欧美美女搞黄| 国产精品久久久91| 999精品视频| 中文字幕第六页| 亚洲国产日韩a在线播放| 亚洲奶汁xxxx哺乳期| 91精品国产沙发| 免费黄色成人| 性欧美videossex精品| 国产精品美女久久久久aⅴ国产馆| 中文字幕乱码中文字幕| 久久精品这里热有精品| 蜜桃在线一区| 国产夫妻自拍一区| 91在线视频网址| 国产一级片av| 久久久极品av| 久久资源综合| 蜜臀久久99精品久久久酒店新书| 国产蜜臀av在线一区二区三区| 国产精品无码白浆高潮| 久久久久久国产精品| 三级精品视频| 999精彩视频| 亚洲一区二区偷拍精品| 全色精品综合影院| 国产精品一区二区女厕厕| 欧美色一级片| 精品夜夜澡人妻无码av| 欧美日韩一本到| 男女免费观看在线爽爽爽视频| 久久99精品久久久久久秒播放器| 美女视频黄免费的久久| 久久久久成人网站| 亚洲女人天堂成人av在线| 亚洲综合资源| 国产女大学生av| 国产精品福利一区| 天堂在线资源网| 国产欧美一区二区三区视频| 狠狠综合久久| 亚洲天堂av中文字幕| 亚洲成人1234| 外国成人毛片| 男女午夜激情视频| 亚洲免费视频成人| 黄色av网站在线看| 成人在线观看网址| 免费黄网站欧美| 欧美一二三区视频| 久久中文久久字幕| 九九综合在线| 国产黑丝一区二区| 91精品福利在线一区二区三区 | 美女被到爽高潮视频|