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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

socket通信的环形缓冲

發布時間:2024/4/11 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 socket通信的环形缓冲 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前段時間實現了一個小型的C/S架構的多人在線即時通信工具,JIGQQ。其中對使用TCP通信有點心得。 記得在我大學時代,就用VB做過TCP的通信。當然那時候是很初級的,發送的數據量也很小的應用。當時就覺得,有時候發送的數據接收端不能接收到,有時候呢覺得一次性沒有接受完畢。

前段時間實現了一個小型的C/S架構的多人在線即時通信工具,JIGQQ。其中對使用TCP通信有點心得。

記得在我大學時代,就用VB做過TCP的通信。當然那時候是很初級的,發送的數據量也很小的應用。當時就覺得,有時候發送的數據接收端不能接收到,有時候呢覺得一次性沒有接受完畢,總會丟失一些內容。這和我從書本學到的TCP/IP可靠通信協議的知識完全不匹配,這讓我疑惑了很久。直到后來接觸的東西越來越多,眼界也逐漸開拓才慢慢意識到問題出在哪。

應用平臺:Windows?XP

開發工具:C++?Builder?6.0

?

問題描述
????我在使用Socket接收消息時,將會觸發一個接收函數。(BCB中的是ClientRead函數)所以我在此函數處接收信息,并做相應處理。那問題來了:由于傳輸的數據包都是我自定義的,我明確的知道長度為多多少。可實際效果卻是,有時候接不夠我期待的長度,而甚至有時候一次接收的數據包長度竟然比我預期的要長10個字節。當時只有設定條件將不滿足我預期長度的數據包丟棄。

?

問題分析

看了上面描述,想必大家也明白我的錯誤在哪了吧?實際是我對Socket的接收機制理解有誤。TCP/IP只保證發送包按順序到達目的地,但可能由于網絡狀況他會自動分包發送,這樣就導致接收端的接受函數每次提交時只有若干數據,不一定是我預期的一個完整的包??梢赃@樣理解,發過來的實際是一個‘流’。

看來要很好的解決這個問題,那就只有先將接收的數據保存起來,再來做處理。

?

處理模型

為了要保存接收數據,我們首先就要建立一個緩沖區。那第一個問題來了:由于我們要接收的信息是不可預知的,那難道這個緩沖區要無限的擴容?

可我們的實際PC內存肯定是有限的,所以我們必須建立一套內存緩沖區可以被反復利用的機制?——?環形隊列。

我們用圖來說明環形隊列的工作原理:

?

?

圖1?藍色為寫入的數據,綠色為已經讀取處理的數據

看上圖1,在正常狀態下:Write指針在寫入數據,而Read指針在Write指針之前,說明緩沖區后端還有空余空間。

在指針回滾狀態下:Write指針在Read指針之前,說明緩沖區的前端已經有空閑的空間。

除了這兩種狀態外,我們不得不再考慮一種即將錯誤狀態:

?

圖2藍色為寫入的數據,棕紅色為未處理的數據

看圖2,無足夠空間:當Write指針回滾,發現無足夠空間,將和Read指針發生交集(虛點部分)這顯然是不合理的。一部分未處理數據將被覆蓋破環。所以我們必須重新調整整個緩沖區。

重新分配調整:當遇到空間不足,不能實現Write指針回滾的情況,我們只有重新開辟一個更大一點的緩沖區,并把未處理數據(棕紅色)和寫入數據(藍色)按順序復制到新的緩沖區內,并調整好Read和Write指針的位置。最后釋放掉原來的緩沖區。

我們可以看到,經過這樣一個過程,我們的緩沖區,將在Read指針處理速度較慢并在處理信息量增大時,逐漸擴容。但是,當擴容到一定程度,將達到一個平衡。因為信息量不可能無限增大,當需處理信息量達到最大值再結合Read指針的不斷處理,緩沖區的大小也將穩定下來。

我們一開頭就給此緩沖區命名為‘環形隊列’。從以上的圖和文字,我們可以形象的理解:由于緩沖區大小最終將穩定,Write和Read指針將無障礙的在緩沖區中不斷循環回滾,其運行軌跡,將是一個環形。

?

其他知識

為了要實現上述模型,我們必須要具備一些知識。

(Write和Read是相對緩沖區而言的!)

首先,Wirte指針部分,應該在Socket接收函數中去實現。他什么都不干,只管將接收到的數據往環形隊列中存放就行了。

再一個,就是我們的Read指針部分。他需要盡可能快的在環形隊列中讀取已經儲存好的數據,并解析數據后進行相關的操作。最重要一點是,這個過程必須是獨立的,在主線程之外運行。

所以,我們的Write指針部分應該是在主線程,而Read指針部分就必須建立一個額外的線程來進行工作。

下面我們就看看C++ Builder 6.0下如何實現多線程和需注意的相關事宜。

1.深淺相關全局或私有變量

HANDLE?DealInfHanld;????????//?處理各類信息線程句柄

DWORD?DealInfID;?????????????//?處理各類信息線程ID

CRITICAL_SECTION?m_csLock;?//?用于臨界變量互鎖

2.編寫好一個線程處理函數實體

//?處理環形隊列中各類信息

DWORD?__stdcall DealInf(LPVOID)

{

????// ……

}

3.利用CreateThread函數創建線程

在窗體開被創建時就創建好線程處理函數:

void __fastcall?TForm_Main::FormCreate(TObject?*Sender)

{

????// ……

????::InitializeCriticalSection(&m_csLock);

????//?開辟各類信息處理線程

????DealInfHanld?=?CreateThread(NULL, 0, DealInf,?NULL, 0, &DealInfID);

}

進過上面3個步驟,函數?DealInf(LPVOID)?將被創建為一個線程函數,他將獨立在主線程之外獨立運行。

我們還需要注意一個很重要的問題:由于線程函數中操作的有關內存,很可能也是主線程中要操作的。比如我們的環形隊列就是這樣。其中Read指針在線程中讀取數據進行處理,而Write指針卻在主線程中儲存數據。所以此兩指針應該要是‘不可見’的,即他們不應該同時去操作同一數據區,總不可能要CPU同時對同一個內存地址又讀又寫吧?所以我們必須利用互鎖機制,讓Write和Read操作互斥。

這點很好實現,比如?DealInf(LPVOID)?函數,我們只需在函數主體的開始和結束處加鎖定和解鎖代碼即可:

//?處理環形隊列中各類信息

DWORD?__stdcall DealInf(LPVOID)

{

????::EnterCriticalSection(&m_csLock);???//?鎖定

????// ……

????::LeaveCriticalSection(&m_csLock);???//?解鎖

}

當然我們應該在主線程Sockte接收函數處也這樣鎖定和解鎖。

?

說明:

下文代碼中,DealInfMem為緩沖區,MemcpySize為緩沖區大小,ReadIndex為讀游標,WriteIndex為寫游標。SocketUS為數據包開頭的TCustomWinSocket信息,BufferSize為數據包長度。

?

具體Write部分實現

首先我們還需要來討論下,如何實現自定義數據包能在我們實際編碼的時帶來便利,并最好做到自定義數據包能無限擴展。

我個人認為,在自定義數據包時,必須將此數據包的實際長度信息包含進去,這樣可以有利于信息在接收時能有判斷的依據。

舉例說明:

//?加為好友命令

typedef struct?QQMAKEFRIEND

{

????UINT32??BufferLeng;?//?本數據包長度

????UINT8???Order;???????//?命令ID

????UINT32??QQNumMy;????//?自己的QQ號碼

????UINT32??QQNumFD;????//?好友的QQ號碼

}?QQMakeFriend;

如上面的一個加好友命令,我們應該在數據包的最前端4字節用來標記數據包長度。這樣我們在信息接收函數時,就可以有效判斷我們是否已經將此數據包接收完畢。代碼如下:

//?接收各客戶端信息

//?獲取此次接收到的全部數據

do

{

????t++;

????LengBuffer?=?Socket->ReceiveLength();?

????Socket->ReceiveBuf(ReadBuffer?+?LengOff?+ sizeof(TCustomWinSocket*),LengBuffer);??

????LengOff?+=?LengBuffer;????//?累計接收到的數據長度

???

????//?獲取此次數據包長度,并把Soket連接記錄在數據包中去

????if (t?== 1)

????{

???????memcpy(ReadBuffer, &Socket, sizeof(TCustomWinSocket*));

???????memcpy(&ReLeng,?ReadBuffer?+ sizeof(TCustomWinSocket*), 4);

????}

}while (LengOff?!=?ReLeng);????//?若此數據包接收完畢,跳出

LengBuffer?=?LengOff?+ sizeof(TCustomWinSocket*);

經過上面的代碼,我們就可以將每次發送來的數據包完整的記錄在字節數組ReadBuffer中,以便后面使用。

而且這樣將數據包長度信息加在數據包中,還便于變長數據包的傳輸。比如當發送聊天信息的時候,由于我們的信息是不定長的,如果知道數據包長度便于我們完整接收數據包。并且這些信息在Read指針讀取的時候也發揮巨大作用,后面我們將看到。

接下來,我們就是將接收到的數據合理的儲存到環形隊列中。

通過圖1和圖2我們清楚的知道在將數據包放入環形隊列的時候,有3種情形:

1.環形隊列后面還有足夠空余空間(R追W)

2.環形隊列后面沒有足夠空余空間但前端有,這樣實現回滾(W超R不足一圈)

3.環形隊列前后都沒有足夠的空余空間,這樣重新開辟更大的緩沖區。復制好數據調整讀寫指針,并釋放原來緩沖區。(W超R一圈)

我們就根據上面三中2情形實現代碼如下:

//?向環形隊列填塞信息

::EnterCriticalSection(&m_csLock);?//?鎖定

if (WriteIndex?>=?ReadIndex)?// Write指針在Read指針之后

{

????if ((MemcpySize?-?WriteIndex) >=?LengBuffer)?//?說明環行隊列后面有空閑位置

????{

???????memcpy(DealInfMem?+?WriteIndex,?ReadBuffer,?LengBuffer);

???????WriteIndex?+=?LengBuffer;

????}

????else?//?后面沒有空閑位置,往前面找

????{

???????if ((MemcpySize-WriteIndex+ReadIndex) >?LengBuffer)?//?如果前面有空閑位置

???????{

???????????memcpy(DealInfMem?+?WriteIndex,?ReadBuffer,?MemcpySize?-?WriteIndex);

???????????memcpy(DealInfMem,?ReadBuffer?+ (MemcpySize?-?WriteIndex),?LengBuffer?- (MemcpySize?-?WriteIndex));

???????????WriteIndex?=?LengBuffer?- (MemcpySize?-?WriteIndex);

???????}

???????else?//?說明沒有空余空間,重新開辟緩沖區

???????{

???????????while ((DealInfMem2?= (UINT8*)malloc(MemcpySize?+?MEMSIZE?+?LengBuffer)) ==?NULL);

???????????memcpy(DealInfMem2,?DealInfMem,?MemcpySize);

???????????MemcpySize?+= (MEMSIZE?+?LengBuffer);

???????????free(DealInfMem);

???????????DealInfMem?=?DealInfMem2;

???????????memcpy(DealInfMem?+?WriteIndex,?ReadBuffer,?LengBuffer);

???????????WriteIndex?+=?LengBuffer;

???????}

????}

}

else?// Write指針在Read指針之前

{

????if ((ReadIndex-WriteIndex) >?LengBuffer)?//?有空余空間

????{

???????memcpy(DealInfMem+WriteIndex,?ReadBuffer,?LengBuffer);

???????WriteIndex?+=?LengBuffer;

????}

????else?//?無空余空間,重新開辟緩沖區

????{

???????while ((DealInfMem2?= (UINT8*)malloc(MemcpySize?+?MEMSIZE?+?LengBuffer)) ==NULL);

???????memcpy(DealInfMem2,?DealInfMem?+?ReadIndex,?MemcpySize?-?ReadIndex);

???????memcpy(DealInfMem2?+?MemcpySize?-?ReadIndex,?DealInfMem,?WriteIndex);

???????memcpy(DealInfMem2?+?MemcpySize?-?ReadIndex?+?WriteIndex,?ReadBuffer,LengBuffer);

???????WriteIndex?=?MemcpySize?-?ReadIndex?+?WriteIndex?+?LengBuffer;

???????MemcpySize?+= (MEMSIZE?+?LengBuffer);

???????ReadIndex?= 0;

???????free(DealInfMem);

???????DealInfMem?=?DealInfMem2;

????}

}

::LeaveCriticalSection(&m_csLock);?//?解鎖

這樣,我們就實現了Write指針儲存數據的部分。

?

具體Read部分實現

????首先我們要看看Read指針在讀取數據時,有不有特別指出。

1.按順序讀取數據;

2.如果數據有一部分在環形隊列尾部,而其余回滾到前端,那我們必須獲取這兩部分合并成一個數據包再來使用;

3.如何確定當前數據包應該有多長?我們本來就記錄當前數據包長度,我們只要根據此信息在環形隊列中讀取對應長度的數據就可以。

我們來看看具體代碼實現:

while (1)

{

????::EnterCriticalSection(&m_csLock);?//?鎖定

????TimeSendHand++;

????//?此處為定時掛起此線程,以便主線程響應消息,不然CPU占用比將飆升

????if (TimeSendHand?>= 100000)

????{

???????TimeSendHand?= 0;

???????Sleep(1);

????}

????//?若發現讀寫指針重疊,說明當前沒有可處理的數據,放回等待

????if (WriteIndex?==?ReadIndex)

????{

???????::LeaveCriticalSection(&m_csLock);?//?解鎖

???????Sleep(1);

???????continue;

????}

????if (WriteIndex?>?ReadIndex)?//?說明讀取指針在寫入指針之前(W > R

????{

???????//?若目前接收的數據不夠,返回等待

???????if ((WriteIndex?-?ReadIndex) <= (sizeof(TCustomWinSocket*) + 4))

???????{

???????????::LeaveCriticalSection(&m_csLock);?//?解鎖

???????????Sleep(1);

???????????continue;

???????}

???????//?摘取Socket連接記錄,用于對應發送

????????memcpy(&SocketUS,?DealInfMem?+?ReadIndex, sizeof(TCustomWinSocket*));

???????//?摘取實際數據包長度記錄(后續4個字節為長度信息)

???????memcpy(&BufferSize,?DealInfMem?+?ReadIndex+sizeof(TCustomWinSocket*), 4);

???????//?實際數據包內容不完整,返回等待

???????if ((WriteIndex?-?ReadIndex?- sizeof(TCustomWinSocket*)) <?BufferSize)

???????{

???????????::LeaveCriticalSection(&m_csLock);

???????????Sleep(1);

???????????continue;

???????}

???????memcpy(XCBuffer,?DealInfMem?+?ReadIndex?+ sizeof(TCustomWinSocket*),BufferSize);?//?摘取實際數據包內容(包括長度信息)

???????ReadIndex?=?ReadIndex?+ sizeof(TCustomWinSocket?*) +?BufferSize;?//?讀指針后移

????}

????else?//?說明讀取指針在寫入指針之后(W <= R則反超,若W == R則重疊,若W < RW反追R)

????{

???????//?若目前接收的數據不夠,返回等待

???????// MemcpySize - ReadIndex + WriteIndex為后面未讀的加前面未讀的

???????if ((MemcpySize?-?ReadIndex?+?WriteIndex) <= (sizeof(TCustomWinSocket*) + 4))

???????{

???????????::LeaveCriticalSection(&m_csLock);

???????????Sleep(1);

???????????continue;

???????}

???????//??sizeof(TCustomWinSocket *)+4?的信息先放入XCBuffer,以便利用

???????if ((MemcpySize?-?ReadIndex) < (sizeof(TCustomWinSocket*) + 4))?//?后不夠

???????{

???????????memcpy(XCBuffer,?DealInfMem?+?ReadIndex,?MemcpySize?-?ReadIndex);?//

???????????memcpy(XCBuffer?+?MemcpySize?-?ReadIndex,?DealInfMem, sizeof(TCustomWinSocket*) + 4 - (MemcpySize?-?ReadIndex));?//?

???????}

???????else?//?后夠

???????{

???????????memcpy(XCBuffer,?DealInfMem?+?ReadIndex, sizeof(TCustomWinSocket*) + 4);

???????}

???????//?摘取Socket

???????memcpy(&SocketUS,?XCBuffer, sizeof(TCustomWinSocket*));

???????//?摘取實際數據包長度記錄

???????memcpy(&BufferSize,?XCBuffer?+ sizeof(TCustomWinSocket*), 4);

???????if ((MemcpySize?-?ReadIndex?+?WriteIndex?- sizeof(TCustomWinSocket*)) <BufferSize)?//?實際數據包內容不完整,返回等待

???????{

???????????::LeaveCriticalSection(&m_csLock);

???????????Sleep(1);

???????????continue;

???????}

???????//?摘取實際數據包內容

???????//?若數據就完整的在一起

???????if ((MemcpySize-ReadIndex) <= (sizeof(TCustomWinSocket*)))

???????{

???????????memcpy(XCBuffer,?DealInfMem?+ sizeof(TCustomWinSocket*) - (MemcpySize?-ReadIndex),?BufferSize);

???????????ReadIndex?= sizeof(TCustomWinSocket*) - (MemcpySize?-?ReadIndex) +BufferSize;

???????}

???????else?//?數據一部分在緩沖區后端,其他部分在緩沖區前端

???????{

???????????memcpy(XCBuffer,?DealInfMem?+?ReadIndex?+ sizeof(TCustomWinSocket*),

??????????????MemcpySize?-?ReadIndex?- sizeof(TCustomWinSocket*));

???????????memcpy(XCBuffer?+?MemcpySize?-?ReadIndex?- sizeof(TCustomWinSocket*),DealInfMem,??BufferSize?- (MemcpySize?-?ReadIndex?- sizeof(TCustomWinSocket*)));

???????????ReadIndex?=?BufferSize?- (MemcpySize?-?ReadIndex?- sizeof(TCustomWinSocket*));

???????}

????}

????XCBufferOff?= 0;

????// ……

????//?根據信息獲取命令號處理

????memcpy(&Order,?XCBuffer?+ 4 +?XCBufferOff, 1);

????switch (Order)

????{

????case?QQMSGHEAD_ORDER:?//?接收消息命令

???????// ……

???????????break;?// Break;

???????// ……

????}

????::LeaveCriticalSection(&m_csLock);?//?解鎖

}

經過上面的代碼,一個個實際數據包將被放入字節數組XCBuffer中。并獲取了此條信息對應的Socket記錄SocketUS。

好了,經過以上的講解,我們這個TCP通信處理模型就建好了。這個模型可以固定不變的應用于C/S架構的通信。上面代碼紅色部分就是各命令信息處理的部分,并且我們的命令數據包可以任意自定義,只要確保數據包的前4字節記錄好當前數據包長度。

下面給出具體的實際代碼:(C++ Builder 6.0實現)

全局變量

HANDLE??DealInfHanld;????//?處理各類信息線程句柄

DWORD???DealInfID;????????//?處理各類信息線程ID

?

//?環行隊列指針

UINT8???*DealInfMem;?????????????//?環形隊列指針

UINT32??MemcpySize?=?MEMSIZE;??//?環行隊列尺寸

UINT32??WriteIndex?= 0,?ReadIndex?= 0;?//?讀寫游標

CRITICAL_SECTION???m_csLock;?????????????//?用于臨界變量互鎖

UINT8???ReadBuffer[1024*1024];???????????//?用于接收消息的緩存(1M

UINT8???XCBuffer[1024*1024];?????????????//?用于線程中的數據包摘取(1M

Write指針部分

void __fastcall?TForm_Main::ServerSocket1ClientRead(TObject?*Sender,?TCustomWinSocket*Socket)

{

????//?接收各客戶端信息

????UINT32??LengBuffer,?LengOff?= 0;

????UINT32??ReLeng;

????UINT8???t?= 0;

????UINT8???*DealInfMem2;

???

????//?獲取此次接收到的全部數據

????do

????{

????????t++;

????????LengBuffer?=?Socket->ReceiveLength();

????????Socket->ReceiveBuf(ReadBuffer?+?LengOff?+ sizeof(TCustomWinSocket*),LengBuffer);

???????LengOff?+=?LengBuffer;

??????

????????if (t?== 1)

????????{

????????????memcpy(ReadBuffer, &Socket, sizeof(TCustomWinSocket*));

????????????memcpy(&ReLeng,?ReadBuffer?+ sizeof(TCustomWinSocket*), 4);

????????}

????}while (LengOff?!=?ReLeng);

???

????LengBuffer?=?LengOff?+ sizeof(TCustomWinSocket*);???

???

????//?向環形隊列填塞信息

?

????//?以下同具體Write部分實現中的代碼

}

Read指針部分

//?處理環形隊列中各類信息

DWORD?__stdcall DealInf(LPVOID)

{

????AnsiString?????AddSQL;

????static?UINT32??TimeSendHand?= 0;

????UINT32???????BufferSize,?XCBufferOff?= 0;

????UINT8????????Order;

?

????TCustomWinSocket???*SocketUS;

?

????//?以下同具體Read部分實現中的代碼

}

感興趣的朋友,可以直接把以上代碼復制到C++ Builder 6.0中去實驗。幾乎不用該任何代碼,就能為你實現一個使用TCP/IP協議接收處理的信息的通信系統。

?

?

通信模塊的使用說明

(1)應用平臺及開發工具:

Windows?XP,C++?builder?6.0

(2)代碼組成:

頭文件:MyThread.h

Cpp:MyThread.cpp

(3)功能描述:

?以環形隊列為儲存基礎和類MyThread為多線程基礎的通信模塊。由于有環形隊列實現,以保證完全無遺漏的接收數據并等待處理。MyThread多線程類由BCB提供的類派生,保證了可操作性和穩定性。

(4)使用要點

?數據寫入:用戶在自己的數據接收函數處,調用MyThread類成員函數MyThread_WriteData(UINT32?SocketUSAdr,?UINT8?*Buffer,?UINT32?LengBuffer);即可將數據寫入到環形隊列中。

SocketUSAdr:用于接收的Socket控件的地址值

Buffer:接收到的數據

LengBuffer:接收到的數據長度

數據摘取使用:MyThread類中的函數指針MyThread_ReadData將被處理子線程自動調用。所以,用戶需要在自己的程序中,聲明一個函數實現,并將函數地址賦給MyThread_ReadData。如:

void __fastcall?MyReadData(UINT32?SocketUSAdr,?UINT8?*XCBuffer);?//?聲明的函數

mythread->MyThread_ReadData?=?MyReadData;?//將函數地址賦給函數指針

SocketUSAdr:記錄了發送此信息的Socket地址

XCBuffer:實際信息數據包

(5)備注

1>.使用此通信模塊,發送的數據包必須滿足以下格式:

typedef struct?QQMSGHEAD

{

????UINT32??BufferLeng;??//?本數據包長度

????// ……

????// ……

}?QQMsgHead;

即首4字節必須為此次數據包的長度,以實現報文定界。數據摘取模塊就是通過此信息準確提取出每個完整的數據包,并提交給mythread->MyThread_ReadData所指向的函數。

2>.環形隊列中數據以以下形式存放:

Socket地址:4字節,是發送此消息的Socket地址。

實際數據:N個字節,建議不超過64K

數據包字節數:4字節

有用信息:N-4字節

由于記錄了發送消息的Socket地址,所以此通信模塊可以很輕易應用于多人即時在線聊天系統。(本人的JIGQQ已成功實現)

注意:環形隊列中的數據是不用用戶自己操作的,這里給以說明只是為了用戶更好的理解本通信模塊

3>.數據摘取函數MyThread_ReadData的實際實現不建議申請臨時變量,最好不要。如果要用到變量,請將其申請為全局,或申請為所在類模塊的內部成員。

?

環形隊列多線程模塊

對堆的申請釋放操作需要用互斥量加鎖,軟件中所有的線程的malloc,free,new,delete都要加鎖。

?

原文:

《TCP通信處理淺談》

參考:

《JIGQQ-即時多人在線的綠色通信工具》

應用層通信協議開發淺析

總結

以上是生活随笔為你收集整理的socket通信的环形缓冲的全部內容,希望文章能夠幫你解決所遇到的問題。

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

天天爽网站 | 国产精品理论片在线观看 | 丁香在线| 超级碰碰免费视频 | 亚洲精品久久久久久中文传媒 | www久久九| 在线免费黄 | 欧美一级电影免费观看 | 国产精品岛国久久久久久久久红粉 | 色综合天天狠天天透天天伊人 | 久草视频中文在线 | 精品中文字幕在线播放 | 亚洲精品456在线播放第一页 | 美女一级毛片视频 | 成年人在线免费视频观看 | 国产婷婷精品 | 亚洲成人黄色在线 | 少妇超碰在线 | 亚洲成年人免费网站 | 免费男女羞羞的视频网站中文字幕 | 国产成人黄色片 | 在线观看亚洲视频 | 在线观看日本高清mv视频 | 午夜免费福利视频 | 91成年人视频 | 国产黄色电影 | 最新亚洲视频 | 成人午夜电影免费在线观看 | 久久久毛片 | 国产成人三级在线播放 | 91亚洲精品久久久蜜桃 | 亚洲精品一区二区三区在线观看 | 日韩视频一区二区三区 | 久久呀 | 久久午夜精品影院一区 | 久久久久免费精品视频 | 免费试看一区 | 亚洲国产午夜视频 | 色九九视频 | 国产精品18久久久久久久久 | 中文国产成人精品久久一 | 久久激情片| 国产精品一级视频 | 又黄又爽的免费高潮视频 | 国产精品免费麻豆入口 | 免费三级黄 | 精品在线视频一区 | 97精产国品一二三产区在线 | 久久精久久精 | 欧美日韩中文在线视频 | 欧美伦理一区 | 中文高清av | 911国产精品 | 免费在线观看国产精品 | 国产黄色片网站 | 一区二区不卡 | 综合网天天射 | 国产欧美精品一区二区三区 | 午夜精品福利在线 | 国产一区黄色 | 五月天免费网站 | 波多野结衣一区二区三区中文字幕 | 国产亚洲婷婷免费 | www欧美xxxx| 天天射天天操天天干 | 午夜视频免费 | 2020天天干夜夜爽 | 国产区第一页 | 国产精品综合久久久久久 | 国产91aaa| 欧美日韩在线网站 | 成人av免费在线 | 免费观看福利视频 | 日韩欧美在线免费 | 亚洲毛片在线观看. | 久久av中文字幕片 | 99re久久资源最新地址 | 国产高清视频在线播放一区 | 中文字幕黄网 | 综合网天天 | 天天要夜夜操 | 97电影院在线观看 | 欧美久草视频 | 狠狠狠狠狠干 | 91成人在线视频 | 日韩在线观看第一页 | 国产99久久久欧美黑人 | av千婊在线免费观看 | 日日夜夜狠狠操 | 国产香蕉久久 | 天天爽天天射 | 99视频99| 天天视频亚洲 | 欧美专区国产专区 | 国产成人精品在线 | 中文字幕九九 | 亚州国产精品 | 在线观看aaa| 色吊丝在线永久观看最新版本 | 亚洲精品成人 | 成人蜜桃网 | 在线免费观看亚洲视频 | 中文字幕视频网站 | 一区二区中文字幕在线观看 | 在线影院av | 91亚洲视频在线观看 | 成人在线观看网址 | 日韩亚洲精品电影 | 欧美日韩国产精品一区二区三区 | 蜜桃视频在线视频 | 国内综合精品午夜久久资源 | 91精品在线免费 | 中文字幕4 | 一级特黄aaa大片在线观看 | 色婷婷免费视频 | 最近中文字幕完整高清 | 国产成人久久av | 国产亚洲精品日韩在线tv黄 | 色综合久久久久久久 | 午夜三级在线 | 亚洲天堂网站视频 | 精品毛片一区二区免费看 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线不卡a | av电影av在线 | 色国产精品 | 国产成人精品999 | 久久这里精品视频 | 精品国产综合区久久久久久 | 国产精品 欧美 日韩 | 欧美污网站 | 久久久久久久久久久高潮一区二区 | 国产激情电影综合在线看 | 成人av在线直播 | 黄色aa久久 | 91在线免费播放视频 | 亚洲春色综合另类校园电影 | 亚洲伊人网在线观看 | 又爽又黄在线观看 | 99精品视频免费 | 免费黄色特级片 | 91大神在线看 | 国产精品999久久久 久产久精国产品 | 亚洲成人资源在线 | 国产成人福利 | 日韩精品一区二区三区在线播放 | 亚洲专区在线视频 | 国产精品一区二区av麻豆 | 日本中文字幕在线看 | 9797在线看片亚洲精品 | 日韩色一区二区三区 | 日韩中文字幕在线不卡 | 99久久精品国产欧美主题曲 | 欧美伦理一区 | 黄色免费网战 | 亚洲精品在线二区 | 国产成人精品一区二区 | 最新av在线免费观看 | 中文字幕资源在线观看 | 久久9999久久免费精品国产 | 国产一级片一区二区三区 | 人人超碰免费 | 在线成人欧美 | 国产精品久久久久久久电影 | 五月婷婷视频在线 | 国产在线观看a | 五月在线视频 | 操操操干干干 | 日韩欧美一区二区三区在线 | 九九九九热精品免费视频点播观看 | 在线观看免费观看在线91 | 亚洲精品视频免费观看 | 在线观看a视频 | 欧美精品久久久久久久免费 | 最近中文字幕久久 | 欧美日韩中文字幕综合视频 | 色婷婷国产精品一区在线观看 | 午夜av影院 | 亚洲高清视频在线观看免费 | 成人午夜电影在线观看 | 欧美小视频在线观看 | 免费的黄色的网站 | 日日爽天天操 | 国产人成一区二区三区影院 | 国产日产精品一区二区三区四区 | 美女网站在线 | 91丨九色丨国产在线 | 天天操夜夜看 | 久草免费在线视频观看 | www.综合网.com | 欧美少妇的秘密 | 色综合久久精品 | 国产资源精品在线观看 | 97精品在线观看 | 国产在线高清视频 | 久久国产女人 | 中文字幕一区二区三区久久蜜桃 | 四虎成人在线 | 极品嫩模被强到高潮呻吟91 | 久草在线视频看看 | 久久国产热视频 | 麻豆国产精品va在线观看不卡 | 国产伦理久久 | 欧美久久久久久久久久久 | 日本韩国精品在线 | 91热视频 | 麻豆视频免费入口 | 午夜久久网 | 亚洲精品男人天堂 | 激情久久久久久久久久久久久久久久 | 日韩一区二区三区高清在线观看 | 日日干天天操 | 国产一级片直播 | 国产亚洲视频中文字幕视频 | 免费视频久久久久久久 | 天天干天天在线 | 手机看片久久 | 久久99操| 亚洲视频在线视频 | 综合久久影院 | 亚洲h在线播放在线观看h | 91精品网站在线观看 | 麻豆精品国产传媒 | 狠狠躁夜夜a产精品视频 | 亚色视频在线观看 | 黄色在线观看免费 | av青草 | 超级碰碰碰碰 | 日夜夜精品视频 | 六月婷婷久香在线视频 | 日日摸日日爽 | 精品美女久久久久久免费 | 九九视频免费观看视频精品 | 91看片网址 | 久久av网 | 亚洲成av人影片在线观看 | 夜夜干天天操 | 麻豆国产露脸在线观看 | 视频在线观看一区 | 国产在线观看一区 | 久草在线观看 | 色综合五月 | 色99久久 | 一级成人免费 | 久久资源总站 | 亚州性色| 亚洲国产三级 | 99久久婷婷国产一区二区三区 | 欧美精品少妇xxxxx喷水 | 精品国产乱码久久久久久三级人 | 久久精品一区 | 99精品热视频 | 国产五月婷 | 国产午夜精品一区二区三区在线观看 | 婷婷丁香五 | 欧美va电影 | 中文字幕影片免费在线观看 | 9999精品免费视频 | 精品久久久久久久久久久久 | 看片网站黄 | 91看片看淫黄大片 | 久久国产精品网站 | 中文字幕91| 99九九视频 | 国产无遮挡又黄又爽在线观看 | 亚洲在线观看av | 精品久久网 | 成人av在线影院 | 欧美激情精品久久久 | 亚洲精品在线一区二区 | 在线日本v二区不卡 | 日韩在线视频免费看 | 午夜在线日韩 | 久久精品麻豆 | 五月婷婷综合在线观看 | 夜夜躁狠狠躁日日躁 | 久久久久久久精 | 久久国产精品第一页 | 国产日韩在线视频 | 午夜久久 | 亚洲高清av在线 | 一本色道久久精品 | 国产精品久久久av久久久 | 91中文字幕网| 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 久久久夜色| 欧美日韩国产页 | 最近免费观看的电影完整版 | 美女视频免费精品 | 日韩大片在线免费观看 | 国产中文欧美日韩在线 | 美女精品 | 性色av香蕉一区二区 | 男女免费av | 精品国产乱码久久久久久久 | 欧美日韩中文国产 | 成人免费在线视频 | 国产美女精品视频免费观看 | 五月天六月色 | 国产精品久久久久久高潮 | 欧美美女视频在线观看 | 国产精品国产自产拍高清av | 欧美国产日韩一区二区 | 国产999免费视频 | 国产精品久久久久999 | 亚洲欧美国产日韩在线观看 | 黄色片网站大全 | 欧美一区二区在线免费观看 | 国产高清在线视频 | 国产精品久久三 | 五月天激情婷婷 | 国产主播大尺度精品福利免费 | 国产一级免费av | 九九综合久久 | 国内精品中文字幕 | 国产99免费 | 久草视频国产 | 亚洲成人免费观看 | 亚州精品天堂中文字幕 | 国产真实在线 | 人人讲下载 | 麻豆网站免费观看 | 欧美一区二区日韩一区二区 | 日本黄色一级电影 | 中文字幕免费一区二区 | 中文字幕在线观看第三页 | 亚洲另类视频在线观看 | 在线观看91久久久久久 | 久久精品国产美女 | 中文字幕一区二区在线观看 | 99精品视频播放 | 麻豆成人在线观看 | 91精品视频免费在线观看 | 久久久久久久久久久影视 | h文在线观看免费 | www.夜色.com | 99久久婷婷国产综合精品 | 欧美日韩久 | 中文字幕黄色 | 久久一区91 | 99久久日韩精品免费热麻豆美女 | 久久99国产视频 | 三级黄色在线 | av综合网址| 亚洲va欧洲va国产va不卡 | 99国产免费网址 | 久久久久久久久久久久亚洲 | 超碰人人在| 91精品国自产在线 | www黄色| 精品国产一区二区三区四区在线观看 | 成 人 黄 色 视频免费播放 | 久久字幕精品一区 | 欧美日韩视频在线播放 | 色视频在线 | 黄色成人在线观看 | 欧美性视频网站 | 久久这里只有精品视频99 | 天天超碰 | 亚洲国产av精品毛片鲁大师 | av天天色| 国产黄色av| 香蕉影院在线 | 精品毛片久久久久久 | 精品久久久久久久 | 日韩在线视频在线观看 | 亚洲毛片一区二区三区 | 国产精品欧美在线 | 日韩一区二区三区在线观看 | 午夜色婷婷 | 欧美精品一区二区三区一线天视频 | 日韩国产高清在线 | 久久色在线播放 | 五月婷色 | 久久综合色播五月 | 欧美国产精品久久久久久免费 | 日韩特黄一级欧美毛片特黄 | 日韩视频一区二区 | 亚洲欧美成人 | 免费在线成人 | 免费视频一级片 | 国产精品毛片完整版 | 亚洲欧洲日韩 | 在线观看国产福利片 | 国产在线免费 | 国产精品视频地址 | 91麻豆国产福利在线观看 | 国产精品露脸在线 | 亚洲国产三级在线观看 | 97国产大学生情侣白嫩酒店 | 国产精品 久久 | 国内精品久久久久久中文字幕 | 国产精品一区二区在线 | 精品91久久久久 | 国产精品国产三级国产专区53 | 成人av直播 | 久久中国精品 | 亚洲一级电影 | 91日韩在线播放 | 中文字幕在线观看2018 | 久久 一区 | 麻豆视频免费在线 | 91大神精品视频在线观看 | 在线看免费 | 国产一级片视频 | 一区二区三区久久精品 | 日韩a级黄色片 | 97国产精品 | 日产中文字幕 | 婷婷综合久久 | 成人午夜黄色 | 毛片的网址| 国产免费亚洲高清 | 久久免费在线观看视频 | 深爱婷婷激情 | 福利一区在线视频 | 精品网站999www | 欧洲精品码一区二区三区免费看 | 精品久久一级片 | 欧美激情视频三区 | 国产资源精品 | 精品视频成人 | 欧美性精品 | 色香蕉网 | 色噜噜在线观看 | 中文字幕高清在线 | 不卡精品| 久久爽久久爽久久av东京爽 | 天天综合网 天天 | 亚洲视频在线播放 | 国产精品永久 | 亚洲年轻女教师毛茸茸 | 激情综合五月天 | 久草在| 日韩精品 在线视频 | 精品久久久久国产免费第一页 | 国产精品欧美一区二区三区不卡 | 一区二区影院 | 91免费版在线观看 | 国产97免费 | 一区二区在线不卡 | 中文字幕人成乱码在线观看 | 亚洲电影影音先锋 | 麻豆免费在线播放 | 亚洲国产视频在线 | 一级黄色片毛片 | 人人爽人人爽人人爽学生一级 | 五月丁色 | 亚洲成人精品在线 | 狠狠色噜噜狠狠狠狠 | 性色在线视频 | 亚洲人人爱| 天天操天天添天天吹 | 国产1区2| 97自拍超碰 | 欧美在线观看禁18 | 国产免费久久av | 五月婷婷另类国产 | 久久免费国产电影 | 成人黄色在线播放 | 婷婷资源站 | av网站在线免费观看 | 久久99亚洲热视 | 国产黄大片在线观看 | 国产原创在线观看 | 日韩在线免费观看视频 | 手机在线日韩视频 | 狠狠综合网 | 天天操天天操天天操天天操天天操 | 成人在线观看日韩 | 91视频免费| 又黄又爽又色无遮挡免费 | 色噜噜日韩精品一区二区三区视频 | 国内久久| 成人久久久精品国产乱码一区二区 | 久久久久久久久久久免费视频 | 一区二区三区在线视频观看58 | 丁香综合激情 | 亚洲成人av影片 | 欧美在线aaa | 亚洲一级电影在线观看 | 国产精品久久久久久久7电影 | 日本高清免费中文字幕 | 色天天综合久久久久综合片 | 97在线视频网站 | 日韩精品亚洲专区在线观看 | 中文字幕在线播放av | 国产视频午夜 | www.午夜视频 | 国内精品久久久精品电影院 | 精品视频成人 | 国产成人免费 | 亚洲国产97在线精品一区 | 人人爽网站| 最近免费中文字幕mv在线视频3 | www.色com| 精品国产一二三四区 | 69中文字幕 | 五月婷婷丁香六月 | 99r精品视频在线观看 | 黄色福利网 | 一区二区中文字幕在线播放 | 精品久久久久久久久久久久久久久久久久 | 91爱在线| 麻豆视频在线观看 | 粉嫩一区二区三区粉嫩91 | 99综合久久 | 国产第一二区 | 一级黄色免费 | 日韩在线视频观看 | 亚洲在线视频观看 | 久久精品国产精品亚洲精品 | 伊人伊成久久人综合网小说 | 国偷自产中文字幕亚洲手机在线 | 天天性天天草 | 日韩精品不卡在线观看 | 91精品国产一区二区在线观看 | 一区二区三区日韩在线 | 韩国一区二区av | 国产在线97| 色悠悠久久综合 | 六月激情网 | 日韩视频一区二区 | 黄av在线| 婷婷综合电影 | 国产精品男女 | 911免费视频 | 欧美99热| 亚洲日本va午夜在线电影 | 精品国产成人av在线免 | 久久久久久久免费观看 | 成年人免费看片网站 | 在线观看中文字幕dvd播放 | 久久久久久片 | 精品免费视频 | 色婷婷一区| 五月婷婷六月丁香在线观看 | 在线视频麻豆 | 热久在线 | 国产一二三四在线观看视频 | 日本婷婷色 | 日韩av片无码一区二区不卡电影 | 欧美一级片免费 | 国产91精品久久久久久 | 久久精品一二三区 | 国产精品久久久久久久午夜片 | 亚洲国产日韩欧美在线 | 欧美精品在线免费 | 欧美精品999 | 久久精品日产第一区二区三区乱码 | 色婷婷国产精品 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 亚洲成人999 | 夜夜躁日日躁狠狠久久88av | 欧美精品v国产精品 | 国产成人99久久亚洲综合精品 | av网站大全免费 | 国产精品国产三级国产专区53 | 天天干天天操人体 | 国产精品永久免费观看 | 日韩欧美在线国产 | 国产专区视频 | 97超碰.com| 婷婷激情综合五月天 | 在线a亚洲视频播放在线观看 | 91精品区 | 香蕉在线观看视频 | 一区二区精品视频 | 欧美日韩精品电影 | 国产乱对白刺激视频在线观看女王 | 91在线视频精品 | 精品主播网红福利资源观看 | 五月婷婷综合在线视频 | 在线观看日韩视频 | 日韩黄色影院 | 久久久久激情 | 亚洲精品网站在线 | 四虎免费在线观看视频 | 超碰国产在线 | 久久国产精品久久久 | 狠狠激情中文字幕 | 欧美日韩一二三四区 | 久久色中文字幕 | 91秒拍国产福利一区 | 国产一二三区av | 国产成免费视频 | 色妞色视频一区二区三区四区 | 国产精品麻豆一区二区三区 | 亚洲h在线播放在线观看h | 欧美一级在线观看视频 | 久久国产美女 | 亚洲日日日 | 免费av福利 | 亚洲三级网站 | 久久一视频 | 成年免费在线视频 | 狠狠色丁婷婷日日 | 成人一级电影在线观看 | 青青色影院 | 欧美成人高清 | 久久精品中文字幕一区二区三区 | 欧美成人中文字幕 | 日日夜夜精品免费 | 成年人网站免费在线观看 | 天天干,天天射,天天操,天天摸 | 精品久久久一区二区 | 成人动图| 欧美一区二区三区不卡 | 亚洲国产精品日韩 | 日韩av电影中文字幕在线观看 | 天天躁日日躁狠狠躁av麻豆 | 国产精品第7页 | 我爱av激情网 | 亚洲国产精品免费 | 免费色视频网址 | 超碰在线最新地址 | 中文字幕在线中文 | 99热官网 | 一本一道久久a久久精品蜜桃 | 免费成人黄色片 | 2021久久| 天天操月月操 | 日韩精品一区在线播放 | 久久在线免费观看视频 | 超碰在线公开 | 狠狠狠色丁香婷婷综合激情 | 婷婷天天色 | 国产麻豆视频在线观看 | 亚洲欧美日韩国产一区二区 | av千婊在线免费观看 | 日韩一区二区三区免费电影 | 亚洲欧美国内爽妇网 | 国产又粗又长又硬免费视频 | 国产91成人在在线播放 | 久久久久久久久久久免费av | 成人电影毛片 | 国产成人99av超碰超爽 | 国产涩涩在线观看 | 黄色片免费在线 | 亚洲2019精品 | 午夜三级在线 | 日韩中文字 | 中文字幕精品一区二区精品 | 久久国产成人午夜av影院宅 | 亚洲精品一区二区精华 | 久久精品国产精品亚洲 | 国产又粗又硬又爽的视频 | 国产精品久久久久高潮 | 操操综合网 | 日韩精品免费在线观看视频 | 五月天中文在线 | 在线国产一区二区三区 | 中文字幕资源网 国产 | 午夜视频在线观看一区二区三区 | 中文字幕在线播放一区二区 | 久久久精品欧美 | 九九久久久久久久久激情 | 久久天天操 | 成人中文字幕在线 | 亚洲一区二区麻豆 | 国产91成人在在线播放 | 中文字幕在线观看av | 天天干人人干 | 天天操天天干天天操天天干 | 精品国产乱码久久久久久1区2匹 | 国内精品免费久久影院 | 麻豆影视在线播放 | 亚洲精品小区久久久久久 | 久久久久国产一区二区三区 | 国产黄色片免费在线观看 | 波多野结衣久久资源 | 在线观看成人网 | 天天天色综合 | 一区二区精品在线视频 | 97超碰福利久久精品 | 午夜美女网站 | 久草久热 | 欧美精品一区二区免费 | 天天爽综合网 | 久草观看视频 | 黄色三级视频片 | 九九精品久久久 | 91av影视| 91麻豆精品国产91久久久使用方法 | 久久久片| 97高清视频 | 丁香久久五月 | 久艹视频免费观看 | 亚洲国产精品小视频 | 99久e精品热线免费 99国产精品久久久久久久久久 | 福利视频网站 | 精品国产一二三四区 | 在线中文字幕播放 | 午夜性色| 噜噜色官网| 国产精品久久久久免费a∨ 欧美一级性生活片 | 国产成人在线精品 | 欧美日韩精品网站 | 成年人免费在线 | 九九九毛片 | 视频国产区 | 国产涩涩网站 | 婷婷看片| 国产成人精品三级 | 国产日韩在线一区 | 精品嫩模福利一区二区蜜臀 | 91片在线观看 | 四虎在线免费视频 | 99久久99视频只有精品 | a视频在线观看免费 | 亚洲视频一区二区三区在线观看 | 国产成人一区二 | 中文视频在线看 | 国产免费黄色 | 国产高清久久久 | 亚洲理论片 | 青青河边草免费视频 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 在线视频18在线视频4k | 日本久草电影 | 国产成人在线一区 | 久久久高清一区二区三区 | 在线国产精品视频 | 精品一区在线看 | 五月婷婷av| 91色吧| 天天色天天射综合网 | 色婷婷在线视频 | 亚洲国产成人精品久久 | 草久久影院 | 婷婷狠狠操 | 97夜夜澡人人双人人人喊 | 久久国产精品99久久久久久丝袜 | 亚洲美女久久 | 欧美一区二区三区免费看 | 亚洲精品视频国产 | 三日本三级少妇三级99 | 日韩精品中文字幕在线不卡尤物 | 免费中午字幕无吗 | 97超碰成人 | 天天操天天干天天操天天干 | avav片| av成人动漫在线观看 | 婷婷久月 | 久久9999久久免费精品国产 | 91成人精品一区在线播放69 | 国产成人福利片 | 国产高清 不卡 | 日韩高清一二区 | 久久亚洲美女 | 玖玖视频在线 | 亚洲成人免费 | 欧美a级成人淫片免费看 | 亚洲精品观看 | 久久精品在线视频 | 亚洲无人区小视频 | 国产一级黄色电影 | 久久久国产精品人人片99精片欧美一 | 狠狠色狠狠综合久久 | 缴情综合网五月天 | aaawww| 99性视频 | 久久高清免费视频 | 成年人视频免费在线 | 亚洲欧美日韩国产精品一区午夜 | www.五月天婷婷 | 奇米网在线观看 | 国产最新福利 | 久久久夜色 | 91av免费看| 人人澡人人草 | 国产精品美女在线观看 | 九九在线视频免费观看 | 久久久福利 | 91av视频在线免费观看 | 97理论片 | 一区二区三区四区不卡 | 天天干天天干天天操 | 丁香五月缴情综合网 | 中文字幕黄色网 | 亚洲精品一区二区精华 | 美女视频黄,久久 | 国产精品成人国产乱 | 日韩 精品 一区 国产 麻豆 | 在线天堂中文在线资源网 | 91桃色视频 | 亚洲日日日 | 国产精品综合久久久久久 | 成人av片免费看 | 亚洲网站在线看 | 成人免费视频播放 | av成人免费在线观看 | 三级av黄色| 黄色在线观看污 | 天天射夜夜爽 | 三级黄色免费片 | 国产综合婷婷 | 久久精品小视频 | 奇米导航 | 日日干天天爽 | 成人h电影在线观看 | 人人爱夜夜操 | 中文在线免费观看 | 免费av的网站 | 成人动漫视频在线 | 亚洲精品五月天 | 欧美精品久久久久久久亚洲调教 | 久久久国产在线视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 最近2019好看的中文字幕免费 | 久久综合精品国产一区二区三区 | 久久激情日本aⅴ | 丁香久久 | 91亚瑟视频 | 玖玖爱在线观看 | 婷婷综合国产 | 1024手机基地在线观看 | 亚洲视频一区二区三区在线观看 | 久久综合中文色婷婷 | 免费看三级网站 | 91视频在线国产 | 手机看片99| 黄色一级在线视频 | 久久久久成人精品亚洲国产 | 国产一区成人 | 国产精品区在线观看 | 欧美一级看片 | 亚洲一区二区三区毛片 | 91亚洲精品国偷拍 | 丝袜一区在线 | 日韩av电影网站在线观看 | 夜夜嗨av色一区二区不卡 | 天天摸天天操天天舔 | 久久综合九九 | 免费国产ww | 国产精品99久久免费观看 | 韩国av电影在线观看 | 久久黄色a级片 | 国内精品免费久久影院 | 国内精品美女在线观看 | 久久成人高清 | 国产精品大尺度 | 99精品久久精品一区二区 | 欧美久久久一区二区三区 | 免费观看午夜视频 | 国产在线专区 | 日本精品久久 | 国内精品久久久久影院日本资源 | 久久久久久久久久久综合 | 97av免费视频 | 精品视频免费在线 | 夜夜躁狠狠躁日日躁视频黑人 | 色综合久久综合中文综合网 | 国产精品综合久久久久久 | 久久婷婷开心 | 中文字幕在线第一页 | 欧美一级免费高清 | 欧美黑人xxxx猛性大交 | 久久久午夜精品福利内容 | 综合激情网... | 国产精品久久久久久久av电影 | 一级a性色生活片久久毛片波多野 | 欧美日韩不卡在线 | 亚洲高清在线观看视频 | 国产伦理久久 | 日本mv大片欧洲mv大片 | 国产精品久久久毛片 | 99色在线播放 | 日韩在线免费高清视频 | 91视频黄色 | 国产成人亚洲在线观看 | 成人资源网 | 91黄色成人| 狠狠的干| 一区二区观看 | 午夜资源站 | 涩涩伊人 | 久久亚洲私人国产精品va | 久久96| 中文av网站 | 国产精品免费一区二区三区 | 国内精品久久久久国产 | 午夜精品视频福利 | 免费国产在线视频 | 天堂在线一区二区 | 国产美女精品人人做人人爽 | 免费在线播放视频 | 国产在线久草 | 成人97视频一区二区 | 久久精品久久久久 | 国产精品你懂的在线观看 | 97操操| 亚洲精品久久久久久久蜜桃 | wwwav视频| 日本久久久精品视频 | 免费三级影片 | 亚洲成av人片在线观看www | 久久精品99北条麻妃 | 国产区在线看 | 欧美日韩视频 | 日本中文不卡 | 亚洲视频电影在线 | 波多野结衣在线观看视频 | 国产一区播放 | 免费av在线 | 91在线国产观看 | 国产 一区二区三区 在线 | 欧美 日韩 国产 成人 在线 | 久久艹人人| 人人狠狠综合久久亚洲 | 婷婷av在线 | 欧美最猛性xxx | 亚洲国产欧美在线人成大黄瓜 | 日本精品久久 | 视频在线观看日韩 | 国产丝袜高跟 | 免费观看日韩 | 婷婷色 亚洲 | 美女黄久久 | 久久久18 | 久久av中文字幕片 | 免费观看版 | 亚洲精品乱码久久久久久按摩 | 99久久久久成人国产免费 | 九九视频免费在线观看 | 一区二区av | 五月婷婷播播 | 亚洲区另类春色综合小说 | 国产精品成人国产乱 | 久久久久久97三级 | 最近最新中文字幕视频 | 91在线影院 | 99久久久久久国产精品 | 夜夜高潮夜夜爽国产伦精品 | 久久免费看av| 国产精品久久嫩一区二区免费 | 亚洲色五月 | 天天干天天操天天入 | 狠狠综合| 91成人精品视频 | 中文字幕乱码视频 | 日韩精品免费一区二区 | 欧美日韩午夜 | 97国产精品免费 | 91精品国产综合久久婷婷香蕉 | 视频99爱| 91 在线视频播放 | 国产精品婷婷 | 久草在线在线精品观看 | 久草免费新视频 | 中文字幕免费观看 | 国产精品在线看 | 久久久久久久久久久精 | 欧美日韩综合在线观看 | 91成人网页版 | 欧美成人中文字幕 | 久草网在线观看 | 探花视频免费观看高清视频 | 国产精品久久久久久久久免费 | 91精品国自产在线观看欧美 | 永久免费看av | 特级西西人体444是什么意思 | 国产无限资源在线观看 | 中文字幕在线视频一区二区三区 | 久久手机免费视频 | 欧美日韩国产二区 | 91精品一区二区三区蜜桃 | 国产美女网 | 97超碰资源 | 成x99人av在线www | 亚洲精品黄色片 | 久久精品专区 | 日韩精品久久久久久久电影竹菊 | 亚洲va综合va国产va中文 | 激情五月婷婷网 | 亚洲草视频 | 亚洲精品一区二区三区高潮 | 五月婷在线视频 | 午夜丁香网| 成人免费看片网址 | 国产黄色精品视频 | 成人午夜电影在线观看 | 伊人天堂网 | 日本高清中文字幕有码在线 | 成人av电影在线 | 69中文字幕 | 亚洲精品国产精品国自产在线 | 国内精品一区二区 | 91视频 - 114av| 五月天色综合 | 亚洲国内精品 | 99精品乱码国产在线观看 | 日韩免费中文字幕 | 国产精品久久久亚洲 | 国产成人精品av久久 | 69精品久久 | 高清av免费看 | 久久一区二 |