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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Boost.Asio入门

發布時間:2025/3/21 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Boost.Asio入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:https://mmoaay.gitbooks.io/boost-asio-cpp-network-programming-chinese/content/Chapter1.html

Boost.Asio入門

首先,讓我們先來了解一下什么是Boost.Asio?怎么編譯它?了解的過程中我們會給出一些例子。然后在發現Boost.Asio不僅僅是一個網絡庫的同時你也會接觸到Boost.Asio中最核心的類——io_service。

什么是Boost.Asio

簡單來說,Boost.Asio是一個跨平臺的、主要用于網絡和其他一些底層輸入/輸出編程的C++庫。

計算機網絡的設計方式有很多種,但是Boost.Asio的的方式遠遠優于其它的設計方式。它在2005年就被包含進Boost,然后被大量Boost的用戶測試并在很多項目中使用,比如Remobo(http://www.remobo.com),可以讓你創建你自己的即時私有網絡(IPN)的應用,libtorrent(http://www.rasterbar.com/products/libtorrent))一個實現了比特流客戶端的庫,PokerTH (http://www.pokerth.net)一個支持LAN和互聯網對戰的紙牌游戲。

Boost.Asio在網絡通信、COM串行端口和文件上成功地抽象了輸入輸出的概念。你可以基于這些進行同步或者異步的輸入輸出編程。

read(stream, buffer [, extra options]) async_read(stream, buffer [, extra options], handler) write(stream, buffer [, extra options]) async_write(stream, buffer [, extra options], handler)

從前面的代碼片段可以看出,這些函數支持傳入包含任意內容(不僅僅是一個socket,我們可以對它進行讀寫)的流實例。

作為一個跨平臺的庫,Boost.Asio可以在大多數操作系統上使用。能同時支持數千個并發的連接。其網絡部分的靈感來源于伯克利軟件分發(BSD)socket,它提供了一套可以支持傳輸控制協議(TCP)socket、用戶數據報協議(UDP)socket和Internet控制消息協議(IMCP)socket的API,而且如果有需要,你可以對其進行擴展以支持你自己的協議。

歷史

Boost.Asio在2003被開發出來,然后于2005年的12月引入到Boost 1.35版本中。原作者是Christopher M. Kohlhoff,你可以通過chris@kohlhoff.com聯系他。

這個庫在以下的平臺和編譯器上測試通過:

  • 32-bit和64-bit Windows,使用Visual C++ 7.1及以上
  • Windows下使用MinGW
  • Windows下使用Cygwin(確保已經定義 __USE_232_SOCKETS)
  • 基于2.4和2.6內核的Linux,使用g++ 3.3及以上
  • Solaris下使用g++ 3.3及以上
  • MAC OS X 10.4以上下使用g++ 3.3及以上

它也可能能在諸如AIX 5.3,HP-UX 11i v3,QNX Neutrino 6.3,Solaris下使用Sun Studio 11以上,True64 v5.1,Windows下使用Borland C++ 5.9.2以上等平臺上使用。(更多細節請咨詢www.boost.org)

依賴

Boost.Asio依賴于如下的庫:

  • Boost.System:這個庫為Boost庫提供操作系統支持(http://www.boost.org/doc/libs/1_51_0/doc/html/boost_system/index.html)
  • Boost.Regex:使用這個庫(可選的)以便你重載read_until()或者async_read_until()時使用boost::regex參數。
  • Boost.DateTime:使用這個庫(可選的)以便你使用Boost.Asio中的計時器
  • OpenSSL:使用這個庫(可選的)以便你使用Boost.Asio提供的SSL支持。

編譯Boost.Asio

Boost.Asio是一個只需要引入頭文件就可以使用的庫。然而,考慮到你的編譯器和程序的大小,你可以選擇用源文件的方式來編譯Boost.Asio。如果你想要這么做以減少編譯時間,有如下幾種方式:

在某個源文件中,添加#include "boost/asio/impl/src.hpp"(如果你在使用SSL,添加#include "boost/asio/ssl/impl/src.hpp")在所有的源文件中,添加#define BOOST_ASIO_SEPARATE_COMPILATION

注意Boost.Asio依賴于Boost.System,必要的時候還依賴于Boost.Regex,所以你需要用如下的指令先編譯Boost:

bjam –with-system –with-regex stage

如果你還想同時編譯tests,你需要使用如下的指令:

bjam –with-system –with-thread –with-date_time –with-regex –with-serialization stage

這個庫有大量的例子,你可以連同本書中的例子一塊看看。

重要的宏

如果設置了BOOST_ASIO_DISABLE_THREADS;不管你是否在編譯Boost的過程中使用了線程支持,Boost.Asio中的線程支持都會失效。

同步VS異步

首先,異步編程和同步編程是非常不同的。在同步編程中,所有的操作都是順序執行的,比如從socket中讀取(請求),然后寫入(回應)到socket中。每一個操作都是阻塞的。因為操作是阻塞的,所以為了不影響主程序,當在socket上讀寫時,通常會創建一個或多個線程來處理socket的輸入/輸出。因此,同步的服務端/客戶端通常是多線程的。

相反的,異步編程是事件驅動的。雖然啟動了一個操作,但是你不知道它何時會結束;它只是提供一個回調給你,當操作結束時,它會調用這個API,并返回操作結果。對于有著豐富經驗的QT(諾基亞用來創建跨平臺圖形用戶界面應用程序的庫)程序員來說,這就是他們的第二天性。因此,在異步編程中,你只需要一個線程。

因為中途做改變會非常困難而且容易出錯,所以你在項目初期(最好是一開始)就得決定用同步還是異步的方式實現網絡通信。不僅API有極大的不同,你程序的語意也會完全改變(異步網絡通信通常比同步網絡通信更加難以測試和調試)。你需要考慮是采用阻塞調用和多線程的方式(同步,通常比較簡單),或者是更少的線程和事件驅動(異步,通常更復雜)。

下面是一個基礎的同步客戶端例子:

using boost::asio; io_service service; ip::tcp::endpoint ep( ip::address::from_string("127.0.0.1"), 2001); ip::tcp::socket sock(service); sock.connect(ep);

首先,你的程序至少需要一個io_service實例。Boost.Asio使用io_service同操作系統的輸入/輸出服務進行交互。通常一個io_service的實例就足夠了。然后,創建你想要連接的地址和端口,再建立socket。把socket連接到你創建的地址和端口。

下面是一個簡單的使用Boost.Asio的服務端:

typedef boost::shared_ptr<ip::tcp::socket> socket_ptr; io_service service; ip::tcp::endpoint ep( ip::tcp::v4(), 2001)); // listen on 2001 ip::tcp::acceptor acc(service, ep); while ( true) {socket_ptr sock(new ip::tcp::socket(service));acc.accept(*sock);boost::thread( boost::bind(client_session, sock)); } void client_session(socket_ptr sock) {while ( true) {char data[512];size_t len = sock->read_some(buffer(data));if ( len > 0)write(*sock, buffer("ok", 2));} }

首先,同樣是至少需要一個io_service實例。然后你指定你想要監聽的端口,再創建一個接收器——一個用來接收客戶端連接的對象。 在接下來的循環中,你創建一個虛擬的socket來等待客戶端的連接。然后當一個連接被建立時,你創建一個線程來處理這個連接。

在client_session線程中來讀取一個客戶端的請求,進行解析,然后返回結果。

而創建一個異步的客戶端,你需要做如下的事情:

using boost::asio; io_service service; ip::tcp::endpoint ep( ip::address::from_string("127.0.0.1"), 2001); ip::tcp::socket sock(service); sock.async_connect(ep, connect_handler); service.run(); void connect_handler(const boost::system::error_code & ec) {// 如果ec返回成功我們就可以知道連接成功了 }

在程序中你需要創建至少一個io_service實例。你需要指定連接的地址以及創建socket。

當連接完成時(其完成處理程序)你就異步地連接到了指定的地址和端口,也就是說,connect_handler被調用了。

當connect_handler被調用時,檢查錯誤代碼(ec),如果成功,你就可以向服務端進行異步的寫入。

注意:只要還有待處理的異步操作,servece.run()循環就會一直運行。在上述例子中,只執行了一個這樣的操作,就是socket的async_connect。在這之后,service.run()就退出了。

每一個異步操作都有一個完成處理程序——一個操作完成之后被調用的函數。 下面的代碼是一個基本的異步服務端

using boost::asio; typedef boost::shared_ptr<ip::tcp::socket> socket_ptr; io_service service; ip::tcp::endpoint ep( ip::tcp::v4(), 2001)); // 監聽端口2001 ip::tcp::acceptor acc(service, ep); socket_ptr sock(new ip::tcp::socket(service)); start_accept(sock); service.run(); void start_accept(socket_ptr sock) {acc.async_accept(*sock, boost::bind( handle_accept, sock, _1) ); } void handle_accept(socket_ptr sock, const boost::system::error_code & err) {if ( err) return;// 從這里開始, 你可以從socket讀取或者寫入socket_ptr sock(new ip::tcp::socket(service));start_accept(sock); }

在上述代碼片段中,首先,你創建一個io_service實例,指定監聽的端口。然后,你創建接收器acc——一個接受客戶端連接,創建虛擬的socket,異步等待客戶端連接的對象。

最后,運行異步service.run()循環。當接收到客戶端連接時,handle_accept被調用(調用async_accept的完成處理程序)。如果沒有錯誤,這個socket就可以用來做讀寫操作。

在使用這個socket之后,你創建了一個新的socket,然后再次調用start_accept(),用來創建另外一個“等待客戶端連接”的異步操作,從而使service.run()循環一直保持忙碌狀態。

異常處理VS錯誤代碼

Boost.Asio允許同時使用異常處理或者錯誤代碼,所有的異步函數都有拋出錯誤和返回錯誤碼兩種方式的重載。當函數拋出錯誤時,它通常拋出boost::system::system_error的錯誤。

using boost::asio; ip::tcp::endpoint ep; ip::tcp::socket sock(service); sock.connect(ep); // 第一行 boost::system::error_code err; sock.connect(ep, err); // 第二行

在前面的代碼中,sock.connect(ep)會拋出錯誤,sock.connect(ep, err)則會返回一個錯誤碼。

看一下下面的代碼片段:

try {sock.connect(ep); } catch(boost::system::system_error e) {std::cout << e.code() << std::endl; }

下面的代碼片段和前面的是一樣的:

boost::system::error_code err; sock.connect(ep, err); if ( err)std::cout << err << std::endl;

當使用異步函數時,你可以在你的回調函數里面檢查其返回的錯誤碼。異步函數從來不拋出異常,因為這樣做毫無意義。那誰會捕獲到它呢?

在你的異步函數中,你可以使用異常處理或者錯誤碼(隨心所欲),但要保持一致性。同時使用這兩種方式會導致問題,大部分時候是崩潰(當你不小心出錯,忘記去處理一個拋出來的異常時)。如果你的代碼很復雜(調用很多socket讀寫函數),你最好選擇異常處理的方式,把你的讀寫包含在一個函數try {} catch塊里面。

void client_session(socket_ptr sock) {try {...} catch ( boost::system::system_error e) {// 處理錯誤} }

如果使用錯誤碼,你可以使用下面的代碼片段很好地檢測連接是何時關閉的:

char data[512]; boost::system::error_code error; size_t length = sock.read_some(buffer(data), error); if (error == error::eof)return; // 連接關閉

Boost.Asio的所有錯誤碼都包含在?的命名空間中(以便你創造一個大型的switch來檢查錯誤的原因)。如果想要了解更多的細節,請參照boost/asio/error.hpp頭文件

Boost.Asio中的線程

當說到Boost.Asio的線程時,我們經常在討論:

  • io_service:io_service是線程安全的。幾個線程可以同時調用io_service::run()。大多數情況下你可能在一個單線程函數中調用io_service::run(),這個函數必須等待所有異步操作完成之后才能繼續執行。然而,事實上你可以在多個線程中調用io_service::run()。這會阻塞所有調用io_service::run()的線程。只要當中任何一個線程調用了io_service::run(),所有的回調都會同時被調用;這也就意味著,當你在一個線程中調用io_service::run()時,所有的回調都被調用了。
  • socket:socket類不是線程安全的。所以,你要避免在某個線程里讀一個socket時,同時在另外一個線程里面對其進行寫入操作。(通常來說這種操作都是不推薦的,更別說Boost.Asio)。
  • utility:就utility來說,因為它不是線程安全的,所以通常也不提倡在多個線程里面同時使用。里面的方法經常只是在很短的時間里面使用一下,然后就釋放了。

除了你自己創建的線程,Boost.Asio本身也包含幾個線程。但是可以保證的是那些線程不會調用你的代碼。這也意味著,只有調用了io_service::run()方法的線程才會調用回調函數。

不僅僅是網絡通信

除了網絡通信,Boost.Asio還包含了其他的I/O功能。

Boost.Asio支持信號量,比如SIGTERM(軟件終止)、SIGINT(中斷信號)、SIGSEGV(段錯誤)等等。 你可以創建一個signal_set實例,指定異步等待的信號量,然后當這些信號量產生時,就會調用你的異步處理程序:

void signal_handler(const boost::system::error_code & err, int signal) {// 紀錄日志,然后退出應用 } boost::asio::signal_set sig(service, SIGINT, SIGTERM); sig.async_wait(signal_handler);

如果SIGINT產生,你就能在你的signal_handler回調中捕獲到它。

你可以使用Boost.Asio輕松地連接到一個串行端口。在Windows上端口名稱是COM7,在POSIX平臺上是/dev/ttyS0。

io_service service; serial_port sp(service, "COM7");

打開端口后,你就可以使用下面的代碼設置一些端口選項,比如端口的波特率、奇偶校驗和停止位。

serial_port::baud_rate rate(9600); sp.set_option(rate);

打開端口后,你可以把這個串行端口看做一個流,然后基于它使用自由函數對串行端口進行讀/寫操作。比如async_read(), write, async_write(), 就像下面的代碼片段:

char data[512]; read(sp, buffer(data, 512));

Boost.Asio也可以連接到Windows的文件,然后同樣使用自由函數,比如read(), asyn_read()等等,就像下面的代碼片段:

HANDLE h = ::OpenFile(...); windows::stream_handle sh(service, h); char data[512]; read(h, buffer(data, 512));

對于POXIS文件描述符,比如管道,標準I/O和各種設備(但不包括普通文件)你也可以這樣做,就像下面的代碼所做的一樣:

posix::stream_descriptor sd_in(service, ::dup(STDIN_FILENO)); char data[512]; read(sd_in, buffer(data, 512));

計時器

一些I/O操作需要一個超時時間。這只能應用在異步操作上(同步意味著阻塞,因此沒有超時時間)。例如,下一條信息必須在100毫秒內從你的同伴那傳遞給你。

bool read = false; void deadline_handler(const boost::system::error_code &) {std::cout << (read ? "read successfully" : "read failed") << std::endl; } void read_handler(const boost::system::error_code &) {read = true; } ip::tcp::socket sock(service); … read = false; char data[512]; sock.async_read_some(buffer(data, 512)); deadline_timer t(service, boost::posix_time::milliseconds(100)); t.async_wait(&deadline_handler); service.run();

在上述代碼片段中,如果你在超時之前讀完了數據,read則被設置成true,這樣我們的伙伴就及時地通知了我們。否則,當deadline_handler被調用時,read還是false,也就意味著我們的操作超時了。

Boost.Asio也支持同步計時器,但是它們通常和一個簡單的sleep操作是一樣的。boost::this_thread::sleep(500);這段代碼和下面的代碼片段完成了同一件事情:

deadline_timer t(service, boost::posix_time::milliseconds(500)); t.wait();

io_service類

你應該已經發現大部分使用Boost.Asio編寫的代碼都會使用幾個io_service的實例。io_service是這個庫里面最重要的類;它負責和操作系統打交道,等待所有異步操作的結束,然后為每一個異步操作調用其完成處理程序。

如果你選擇用同步的方式來創建你的應用,你則不需要考慮我將在這一節向你展示的東西。你有多種不同的方式來使用io_service。在下面的例子中,我們有3個異步操作,2個socket連接操作和一個計時器等待操作:

  • 有一個io_service實例和一個處理線程的單線程例子: io_service service; // 所有socket操作都由service來處理 ip::tcp::socket sock1(service); // all the socket operations are handled by service ip::tcp::socket sock2(service); sock1.asyncconnect( ep, connect_handler); sock2.async_connect( ep, connect_handler); deadline_timer t(service, boost::posixtime::seconds(5)); t.async_wait(timeout_handler); service.run();
  • 有一個io_service實例和多個處理線程的多線程例子:
io_service service; ip::tcp::socket sock1(service); ip::tcp::socket sock2(service); sock1.asyncconnect( ep, connect_handler); sock2.async_connect( ep, connect_handler); deadline_timer t(service, boost::posixtime::seconds(5)); t.async_wait(timeout_handler); for ( int i = 0; i < 5; ++i)boost::thread( run_service); void run_service() {service.run(); }
  • 有多個io_service實例和多個處理線程的多線程例子:
io_service service[2]; ip::tcp::socket sock1(service[0]); ip::tcp::socket sock2(service[1]); sock1.asyncconnect( ep, connect_handler); sock2.async_connect( ep, connect_handler); deadline_timer t(service[0], boost::posixtime::seconds(5)); t.async_wait(timeout_handler); for ( int i = 0; i < 2; ++i)boost::thread( boost::bind(run_service, i)); void run_service(int idx) {service[idx].run(); }

首先,要注意你不能擁有多個io_service實例卻只有一個線程。下面的代碼片段沒有任何意義:

for ( int i = 0; i < 2; ++i)service[i].run();

上面的代碼片段沒有意義是因為service[1].run()需要service[0].run()先結束。因此,所有由service[1]處理的異步操作都需要等待,這顯然不是一個好主意。

在前面的3個方案中,我們在等待3個異步操作結束。為了解釋它們之間的不同點,我們假設:過一會操作1完成,然后接著操作2完成。同時我們假設每一個完成處理程序需要1秒鐘來完成執行。

在第一個例子中,我們在一個線程中等待三個操作全部完成,第1個操作一完成,我們就調用它的完成處理程序。盡管操作2緊接著完成了,但是操作2的完成處理程序需要在1秒鐘后,也就是操作1的完成處理程序完成時才會被調用。

第二個例子,我們在兩個線程中等待3個異步操作結束。當操作1完成時,我們在第1個線程中調用它的完成處理程序。當操作2完成時,緊接著,我們就在第2個線程中調用它的完成處理程序(當線程1在忙著響應操作1的處理程序時,線程2空閑著并且可以回應任何新進來的操作)。

在第三個例子中,因為操作1是sock1的connect,操作2是sock2的connect,所以應用程序會表現得像第二個例子一樣。線程1會處理sock1 connect操作的完成處理程序,線程2會處理sock2的connect操作的完成處理程序。然而,如果sock1的connect操作是操作1,deadline_timer t的超時操作是操作2,線程1會結束正在處理的sock1 connect操作的完成處理程序。因而,deadline_timer t的超時操作必須等sock1 connect操作的完成處理程序結束(等待1秒鐘),因為線程1要處理sock1的連接處理程序和t的超時處理程序。

下面是你需要從前面的例子中學到的:

  • 第一種情況是非常基礎的應用程序。因為是串行的方式,所以當幾個處理程序需要被同時調用時,你通常會遇到瓶頸。如果一個處理程序需要花費很長的時間來執行,所有隨后的處理程序都不得不等待。
  • 第二種情況是比較適用的應用程序。他是非常強壯的——如果幾個處理程序被同時調用了(這是有可能的),它們會在各自的線程里面被調用。唯一的瓶頸就是所有的處理線程都很忙的同時又有新的處理程序被調用。然而,這是有快速的解決方式的,增加處理線程的數目即可。
  • 第三種情況是最復雜和最難理解的。你只有在第二種情況不能滿足需求時才使用它。這種情況一般就是當你有成千上萬實時(socket)連接時。你可以認為每一個處理線程(運行io_service::run()的線程)有它自己的select/epoll循環;它等待任意一個socket連接,然后等待一個讀寫操作,當它發現這種操作時,就執行。大部分情況下,你不需要擔心什么,唯一你需要擔心的就是當你監控的socket數目以指數級的方式增長時(超過1000個的socket)。在那種情況下,有多個select/epoll循環會增加應用的響應時間。

如果你覺得你的應用程序可能需要轉換到第三種模式,請確保監聽操作的這段代碼(調用io_service::run()的代碼)和應用程序其他部分是隔離的,這樣你就可以很輕松地對其進行更改。

最后,需要一直記住的是如果沒有其他需要監控的操作,.run()就會結束,就像下面的代碼片段:

io_service service; tcp::socket sock(service); sock.async_connect( ep, connect_handler); service.run();

在上面的例子中,只要sock建立了一個連接,connect_handler就會被調用,然后接著service.run()就會完成執行。

如果你想要service.run()接著執行,你需要分配更多的工作給它。這里有兩個方式來完成這個目標。一種方式是在connect_handler中啟動另外一個異步操作來分配更多的工作。 另一種方式會模擬一些工作給它,用下面的代碼片段:

typedef boost::shared_ptr work_ptr; work_ptr dummy_work(new io_service::work(service));

上面的代碼可以保證service.run()一直運行直到你調用useservice.stop()或者 dummy_work.reset(0);// 銷毀 dummy_work.

總結

做為一個復雜的庫,Boost.Asio讓網絡編程變得異常簡單。構建起來也簡單。而且在避免使用宏這一點上也做得很好;它雖然定義了少部分的宏來做選項開關,但是你需要關心的很少。

Boost.Asio支持同步和異步編程。他們有很大不同;你需要在項目早期就選擇其中的一種來實現,因為它們之間的轉換是非常復雜而且易錯的。

如果你選擇同步,你可以選擇異常處理或者錯誤碼,從異常處理轉到錯誤碼;只需要在call函數中增加一個參數即可(錯誤碼)。

Boost.Asio不僅僅可以用來做網絡編程。它還有其他更多的特性,這讓它顯得更有價值,比如信號量,計時器等等。

下一章我們將深入研究大量Boost.Asio中用來做網絡編程的函數和類。同時我們也會學一些異步編程的訣竅。

總結

以上是生活随笔為你收集整理的Boost.Asio入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩视频一区二区三区在线播放免费观看 | 91精品国产综合久久福利 | 久久人人爽人人爽人人片av免费 | 国产1区2| 在线观看麻豆av | 97在线超碰| 国产精品免费视频一区二区 | 久久综合天天 | 国产原创av在线 | 99精品一级欧美片免费播放 | 伊人电影天堂 | 国产资源中文字幕 | 日韩欧美一区二区三区在线观看 | 精品国产伦一区二区三区免费 | 婷婷精品国产欧美精品亚洲人人爽 | 亚洲精品白浆高清久久久久久 | 99久久精品免费看国产免费软件 | 91丨九色丨91啦蝌蚪老版 | 一区二区三区国产欧美 | 操久| av免费播放| 激情av综合 | 日本女人逼 | 草久视频在线 | 狠色狠色综合久久 | 久久69精品久久久久久久电影好 | 日韩中文字幕视频在线观看 | 99精品视频99 | 天天干天天拍天天操天天拍 | www.成人精品| 视频一区二区精品 | av短片在线观看 | 欧美精品三级在线观看 | 在线视频国产区 | 黄色精品一区二区 | 成人免费观看视频网站 | 亚洲午夜久久久影院 | 丁香六月婷婷开心婷婷网 | 中文综合在线 | 91在线中文字幕 | 久久精品99 | 99精品福利| 国产不卡免费 | 天天夜夜操 | 久久天天躁狠狠躁亚洲综合公司 | 日韩免费不卡av | 国产你懂的在线 | 中文字幕在线观看视频一区 | 婷婷成人综合 | 一二三精品视频 | 黄色91在线观看 | 91精品国产91久久久久久三级 | 99久久精品视频免费 | 狠狠的干| 久久久精品视频成人 | 黄a在线观看 | 免费日韩一区 | 天天天天干 | 日韩久久精品 | 不卡在线一区 | 国产永久免费 | 久久免费美女视频 | 国产精品久久久久久久久搜平片 | av激情五月| 999成人国产| 国产精品二区三区 | 中文字幕在线观看资源 | 国产亚洲成人网 | 五月天久久 | 午夜国产一区 | 精品一二三区 | 成年人视频在线观看免费 | 国产69精品久久久久99 | 亚洲a资源 | 亚洲蜜桃av | 亚洲免费在线观看视频 | 日韩激情在线 | 日本免费久久高清视频 | 蜜桃麻豆www久久囤产精品 | 最近日本字幕mv免费观看在线 | 久青草电影 | 91精品在线免费视频 | 亚洲欧美一区二区三区孕妇写真 | 日韩欧美在线视频一区二区三区 | 精品久久一二三区 | 最新中文字幕在线资源 | 一区二区影院 | 91精品国 | 一区二区三区四区五区在线视频 | 欧美成人精品欧美一级乱 | 天天玩天天操天天射 | 一级成人免费视频 | 天天操夜夜操夜夜操 | 日日干天天爽 | av黄色av | 91av免费观看 | 免费网址你懂的 | 免费黄色看片 | 亚洲精品国产第一综合99久久 | 黄色特级一级片 | 久久久久免费视频 | 国产视频18 | 有码中文字幕在线观看 | 亚洲欧美视频在线播放 | 一区二区三区在线视频111 | 日本在线观看中文字幕 | 热精品| 婷婷久久精品 | 毛片3| 天天色天天综合 | 久草在线视频看看 | 亚洲三级在线 | 深夜免费福利 | 一区二区视频免费在线观看 | 国产一级免费在线 | 欧美一级性生活片 | 国产成人一区二区啪在线观看 | 成在人线av | 日韩xxxbbb| 91视频观看免费 | 最新国产一区二区三区 | 国产无套视频 | 美女网站在线观看 | 国产二级视频 | 久久久精品一区二区 | 色六月婷婷 | 成人免费xxxxxx视频 | 欧美色就是色 | 2019中文字幕第一页 | www.久久免费 | 99久热精品 | 国产原创在线观看 | 亚洲精品午夜久久久久久久久久久 | 精品av在线播放 | 国产二区视频在线观看 | 国产资源在线视频 | 国产成人一区二区三区在线观看 | 亚洲午夜精品一区二区三区电影院 | 玖玖色在线观看 | 免费视频在线观看网站 | 久久精品女人毛片国产 | 97超碰人人 | 日本精品二区 | 精品国产一区在线观看 | 欧美尹人| h久久| 成年人网站免费在线观看 | 亚洲激情国产精品 | 国语精品久久 | 91精品国产欧美一区二区成人 | 亚洲激情久久 | 国产美女免费观看 | 久久久久在线观看 | 天天干天天插伊人网 | 国产精品综合久久久久 | 欧美成人区 | 国内精品久久久久久 | 国产xvideos免费视频播放 | 亚洲免费一级电影 | 天天爱天天操天天干 | 久久国产精品免费观看 | 手机看片国产日韩 | 日韩av免费一区 | 欧美成人亚洲成人 | 国产精品18久久久久久久久久久久 | 国产99中文字幕 | 国产尤物在线视频 | 91精品蜜桃 | 91久久国产综合精品女同国语 | 麻豆视频在线观看免费 | 国产一区二区在线免费播放 | 天天综合狠狠精品 | 亚洲天堂精品视频在线观看 | 五月宗合网 | 高清有码中文字幕 | 中文字幕丰满人伦在线 | 国产精品 中文字幕 亚洲 欧美 | 91精品久久久久久久久 | 99热在 | 免费不卡中文字幕视频 | 日韩中文字幕视频在线 | 成人在线观看影院 | 天天在线视频色 | 欧美性生活久久 | 九九九九九九精品任你躁 | 欧美巨大荫蒂茸毛毛人妖 | 免费看黄色91 | 久久99热国产 | 国产亚洲成av片在线观看 | 欧美一二在线 | 911久久香蕉国产线看观看 | 久草www| 九九热免费在线观看 | 日本在线成人 | 欧美经典久久 | 美女性爽视频国产免费app | 国产精品福利在线观看 | 丁香六月在线观看 | 中文字幕 成人 | 99精品国产在热久久下载 | www.亚洲激情.com | 久久在线免费观看 | 亚洲国产精品va在线看黑人动漫 | 在线视频 区 | 精品欧美一区二区精品久久 | 操高跟美女 | 天天干天天怕 | 伊人五月 | 深夜免费福利网站 | www.91成人| 91亚洲精品久久久蜜桃网站 | 免费视频a| 国产精品高清在线 | 去看片| 蜜臀久久99精品久久久无需会员 | 精品一区二区免费 | av免费在线免费观看 | 中文字幕久久久精品 | 欧美一级视频在线观看 | 亚洲欧美日韩国产一区二区 | 国产第页| 天天干天天射天天操 | 欧美精品一区二区免费 | 色综合国产 | 午夜久久精品 | 毛片区 | 久久免费毛片视频 | 97在线视频免费 | 日韩欧美一区视频 | 日本午夜免费福利视频 | 久久99视频免费观看 | 人人澡人人爽 | www.国产在线观看 | 国产视频第二页 | 日韩高清网站 | 91精品成人 | 色永久免费视频 | 丁香激情综合国产 | 国产又粗又猛又黄又爽视频 | 国产日韩高清在线 | 日韩艹 | 久久久久久久久久久久亚洲 | 久久久午夜影院 | 亚洲日本欧美在线 | 久久婷婷国产色一区二区三区 | 九九九国产| 免费黄在线看 | 亚洲精品字幕在线观看 | 最近高清中文在线字幕在线观看 | a级一a一级在线观看 | 亚洲高清视频在线观看免费 | 久久精品国产精品亚洲 | 国际精品久久久久 | 又黄又爽又湿又无遮挡的在线视频 | 99精品国产视频 | 粉嫩av一区二区三区四区在线观看 | 中文字幕在线观看完整版电影 | 涩涩网站在线看 | 97超碰人人网 | 2020天天干天天操 | 国产一区电影在线观看 | 999视频在线播放 | 国产成人精品免高潮在线观看 | 狠狠色丁婷婷日日 | 九九热精品视频在线观看 | 丁香婷婷综合网 | 91久久丝袜国产露脸动漫 | 久久日本视频 | 一个色综合网站 | 一个色综合网站 | 亚洲精品乱码久久久久久高潮 | 黄色小说在线观看视频 | 日韩色在线观看 | 黄色av成人在线 | 97超碰人人澡人人爱 | 国产一级免费视频 | 91精品一区二区三区久久久久久 | 黄色av一区二区三区 | 天天摸天天操天天爽 | 中文国产字幕在线观看 | 99国内精品久久久久久久 | 国产精品99蜜臀久久不卡二区 | 国产精品淫 | 黄色亚洲在线 | 久久精品视频18 | 中文字幕永久 | ww亚洲ww亚在线观看 | 99免在线观看免费视频高清 | 色av资源网 | 一区二区在线电影 | 亚洲高清av | 91精品网站在线观看 | 亚洲人视频在线 | 九九精品视频在线 | 亚洲最大免费成人网 | 精品久久久久久久久亚洲 | 国产91学生粉嫩喷水 | 手机成人av在线 | 国产精品福利午夜在线观看 | 人人插人人做 | 色av资源网 | 日日操日日干 | av电影免费在线播放 | 麻豆精品视频在线观看免费 | 国产精品久久久久永久免费观看 | av高清免费在线 | 波多野结衣日韩 | 久久国产免费 | 精品国产_亚洲人成在线 | 日韩精品aaa | 亚洲一区二区三区四区精品 | 亚洲日韩中文字幕在线播放 | 免费av在线网站 | 国内精品一区二区 | 久久少妇免费视频 | 国色天香在线 | 久久伊99综合婷婷久久伊 | 欧美一二三四在线 | 色诱亚洲精品久久久久久 | 日本在线观看中文字幕无线观看 | 奇米导航 | 亚洲男人天堂a | 精品国产视频在线 | 美国人与动物xxxx | 在线观看国产www | 亚洲国产福利视频 | 亚洲欧美激情精品一区二区 | 国产这里只有精品 | 成人av网站在线观看 | 成年人黄色免费网站 | 成人av播放 | 久久伊人爱| 日本久久中文 | 亚洲aaa级 | 天天色天天骑天天射 | 99精品乱码国产在线观看 | www亚洲国产 | 日日操天天射 | 国产剧在线观看片 | 国产99久久久国产精品成人免费 | 中文字幕免费看 | 五月天综合在线 | 久久精品国产免费 | 国产在线观看免费观看 | 在线观看 亚洲 | 国产视频手机在线 | 精品一区二区日韩 | 在线欧美最极品的av | 夜夜操狠狠操 | 五月综合网 | 国产一区精品在线观看 | 91超级碰碰 | 日韩激情一二三区 | 成人在线免费小视频 | 国产成人在线综合 | 免费高清看电视网站 | aaa黄色毛片 | 少妇啪啪av入口 | 日韩视频图片 | av九九| 美女网站在线 | 99c视频高清免费观看 | 特级西西444www大精品视频免费看 | 日韩v在线91成人自拍 | 伊人小视频 | 韩国精品一区二区三区六区色诱 | 69视频国产 | 在线观看国产永久免费视频 | 黄色av免费看 | 久草视频免费在线播放 | 日韩高清dvd | 91中文字幕在线观看 | 2022中文字幕在线观看 | 久久综合电影 | 三级大片网站 | 国产视频一区精品 | 最近免费中文字幕mv在线视频3 | 欧美激情视频三区 | 美女黄频免费 | 天天干夜夜擦 | 久草精品视频 | 激情丁香月 | 日韩精品免费 | 精品视频久久 | 久草电影免费在线观看 | 少妇超碰在线 | 91福利视频免费观看 | 久久精品综合网 | 久久久综合香蕉尹人综合网 | 国产剧情一区二区在线观看 | 婷婷丁香激情 | 涩涩爱夜夜爱 | 免费看日韩 | a极黄色片 | a黄色一级| 欧美性久久久久久 | 在线观看黄色免费视频 | 国产成人一区在线 | 免费亚洲婷婷 | 91新人在线观看 | 久久不射电影院 | 九九精品视频在线观看 | 最新国产精品久久精品 | 欧美激情视频免费看 | 中文字幕免费久久 | 91亚色在线观看 | 日本成人中文字幕在线观看 | 久草在线免费新视频 | 在线导航福利 | 午夜精品一区二区三区免费 | 免费看的黄网站 | 久久精品国产亚洲精品 | 婷婷丁香社区 | 国产区高清在线 | 日韩午夜电影网 | 国产一级久久久 | 五月天,com| 欧美日本高清视频 | 日韩精品一区二区在线观看视频 | 国产剧情一区二区 | 久久精品站| 久久久国际精品 | 欧美激情第28页 | 91视频 - 88av| 欧美午夜寂寞影院 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 亚洲永久精品国产 | 亚洲欧美精品一区二区 | 亚洲综合在线一区二区三区 | 97碰碰视频| 正在播放久久 | www视频免费在线观看 | 久久综合免费视频 | 美女网站在线播放 | 婷婷去俺也去六月色 | 成人免费色| 久久99热精品 | 中文字幕二区三区 | 色综合久久88色综合天天 | 9色在线视频 | 波多野结衣电影一区二区 | 91私密保健 | 开心色激情网 | 91在线国内视频 | 亚洲日本一区二区在线 | 久草精品免费 | 亚洲在线网址 | 日韩精品一区二区三区三炮视频 | 青草草在线视频 | 九色一区二区 | 精品亚洲在线 | www五月天婷婷 | 国产精品成久久久久 | 日韩一区二区三区在线观看 | 久久久久国产精品午夜一区 | 欧美地下肉体性派对 | 日日操天天操狠狠操 | 午夜影视一区 | 亚洲特级毛片 | 欧美日韩一区久久 | 日韩v在线 | 精品国模一区二区 | 久久天天综合网 | 色综合天天天天做夜夜夜夜做 | 91chinesexxx| 国产精品2018 | 国产在线中文字幕 | 亚洲情影院 | 亚洲免费在线播放视频 | 激情视频区 | 欧美一区二区在线刺激视频 | 日韩av专区 | 日韩色一区二区三区 | 国产人免费人成免费视频 | 久久精品精品电影网 | 在线看一区二区 | 99久久影视| 香蕉视频网站在线观看 | 超碰在线人人 | 亚洲精品在线免费 | 亚洲一区美女视频在线观看免费 | av免费在线免费观看 | 日本韩国在线不卡 | 免费观看丰满少妇做爰 | 一级久久精品 | 中文字幕一区二区三区四区视频 | 日韩精品字幕 | 国产成人777777 | 亚洲理论电影网 | 国产精品理论片在线观看 | 香蕉视频久久 | 日本中出在线观看 | 久久99精品国产 | 男女啪啪网站 | 欧美大香线蕉线伊人久久 | 国产福利久久 | 一区二区三区在线观看免费 | 久久免费精品国产 | 一区在线观看视频 | 99这里只有 | avwww在线 | 天天插天天狠天天透 | 精品亚洲va在线va天堂资源站 | 最近中文字幕免费视频 | 91成人精品观看 | 五月婷av| 免费视频一二三区 | 国产拍揄自揄精品视频麻豆 | 91香蕉视频好色先生 | 国产精品久久久一区二区三区网站 | 久久夜色电影 | 蜜桃麻豆www久久囤产精品 | 欧美一级免费高清 | 久久成熟| 国产精品久久免费看 | a天堂最新版中文在线地址 久久99久久精品国产 | 激情婷婷色 | 尤物97国产精品久久精品国产 | 五月开心激情 | 国产v亚洲v| 国产亚洲片| 国产在线观看99 | 免费在线国产黄色 | 操夜夜操 | 成人黄色小视频 | 麻豆国产精品一区二区三区 | 久草热视频| 国产一级电影在线 | 日韩激情在线视频 | 国产成人精品一区二区 | 成全免费观看视频 | 久久精品国产精品亚洲精品 | 在线观看成人网 | 日本在线视频网址 | 日本aaaa级毛片在线看 | 91九色综合| 婷婷在线观看视频 | 久久天天草| 91夫妻自拍 | 亚洲成人资源在线 | 日韩理论在线观看 | 久久五月婷婷丁香社区 | 亚洲综合小说电影qvod | 日韩中文字幕在线 | 99色网站 | 国产黄色片一级三级 | 亚洲一二区视频 | 国产精品久久久久久久久久直播 | 成人av免费播放 | 久草久草视频 | 中文字幕制服丝袜av久久 | 少妇视频在线播放 | 日韩三级不卡 | 狠狠色丁香婷婷综合久小说久 | 蜜臀av在线一区二区三区 | 毛片网站免费在线观看 | 亚洲在线资源 | 国产一区二区精品在线 | 国内精品久久久久久久久 | 亚洲成a人片综合在线 | 久久黄色小说视频 | 午夜国产一区二区三区四区 | 天天干夜夜擦 | 91久久久久久久一区二区 | 久久久网址 | 手机av资源 | 免费看三级黄色片 | 久久夜色精品国产欧美乱 | 日日夜夜精品免费观看 | 成人午夜片av在线看 | 国产精品区在线观看 | 亚洲国产婷婷 | 玖玖精品在线 | 成年人黄色av | 爱干视频 | 中文字幕专区高清在线观看 | 国产一区二区手机在线观看 | 色av资源网| www黄色大片 | 午夜精品一区二区三区在线视频 | 99精品国产兔费观看久久99 | 国产免费人成xvideos视频 | 欧美最猛性xxxxx(亚洲精品) | 久久久久久高清 | 国产精品久久久久永久免费看 | 97超碰中文字幕 | 日韩视频一区二区三区在线播放免费观看 | 韩国精品在线观看 | 国产一二区视频 | 私人av | 九九热在线精品 | 中文一区在线观看 | 中文在线中文资源 | 亚洲视频 在线观看 | 亚洲高清国产视频 | 日韩午夜电影 | 91九色在线视频观看 | 亚洲欧洲国产日韩精品 | 国产中文字幕在线视频 | 日本在线观看中文字幕无线观看 | 992tv成人免费看片 | 久久成人午夜 | 中文字幕在线视频一区 | 中文字幕免费播放 | 国产黄色高清 | 久久久久久久网站 | 亚洲 欧美 国产 va在线影院 | 女人18毛片a级毛片一区二区 | 日韩小视频 | 精品a在线 | 97视频入口免费观看 | 成人黄色大片网站 | 国产精品久久久久久超碰 | a√天堂中文在线 | 久免费视频 | 国产精品高清在线 | 欧美日韩在线第一页 | 91麻豆免费看 | 成人av电影免费 | 丰满少妇一级 | 色婷婷六月天 | 美女精品久久久 | 干狠狠| 国产精品久久久久久久久久久久 | 亚洲视频专区在线 | 国产精品毛片久久久久久 | 五月婷婷综合色拍 | 中文av资源站| 97超碰国产在线 | 丁香婷婷综合网 | 国产精品 中文字幕 亚洲 欧美 | 天天综合区| h动漫中文字幕 | 欧美精品小视频 | 欧美一级片在线播放 | 精品一区二区av | 日韩欧美在线播放 | 久久中国精品 | 国产黄色理论片 | 国产精品密入口果冻 | 欧美日韩aaaa| 久久久久久久久亚洲精品 | 又色又爽又黄 | 中文字幕综合在线 | 欧美亚洲一区二区在线 | 成人黄色电影在线观看 | 999热线在线观看 | 一级黄色大片在线观看 | 美女黄濒 | 亚洲国产精品电影 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 日韩中字在线观看 | 欧美国产高清 | 免费男女网站 | 2023av在线 | 国产尤物在线视频 | 亚洲一区黄色 | 久久躁日日躁aaaaxxxx | 国外av在线| 亚洲精品免费看 | av一级免费| 视色网站 | 黄在线 | 久久96国产精品久久99软件 | 婷婷www| 日韩av影视在线 | 国产在线无 | 日韩电影在线一区二区 | 成人a视频片观看免费 | 麻豆传媒电影在线观看 | 久久超| 亚洲综合涩 | 久久人人爽人人爽人人片av软件 | 国产精品嫩草影院99网站 | 最新国产一区二区三区 | 精品国模一区二区三区 | 好看av在线 | 日韩在线免费视频观看 | 日韩电影中文字幕在线 | 亚洲视频六区 | 五月激情久久 | 色姑娘综合天天 | 国产99久久99热这里精品5 | 日韩精选在线观看 | 久久国产精品99久久久久久进口 | 欧美精品久久久久久久 | 精品国产一区二区三区久久影院 | 国产精品九九久久久久久久 | 91在线观看视频 | 黄色亚洲大片免费在线观看 | 九九热av | 超碰97免费观看 | 成人激情开心网 | 91人人人| 欧美analxxxx | 精品久久五月天 | 国产一级电影 | 国产免费人人看 | 免费看久久久 | av电影中文 | 激情婷婷 | 国产综合在线视频 | 久久精品日本啪啪涩涩 | 美女激情影院 | 操操日日 | 香蕉久草 | 曰韩精品 | 国内精品久久久久久久97牛牛 | 日韩在线一级 | 国产精品久久久久一区二区国产 | 在线观看中文字幕2021 | 久久日韩精品 | 激情黄色av | 亚洲精品国产区 | 久草在线免费播放 | 久久中文字幕在线视频 | 亚洲日本成人 | 色婷婷综合久色 | 亚洲 欧美 综合 在线 精品 | 国产视频1区2区3区 久久夜视频 | 久久激情视频 | 日韩在线在线 | 久久伊人五月天 | 日韩v欧美v日本v亚洲v国产v | 免费看色视频 | 久草在线视频新 | 日韩在线视频观看 | 免费黄色在线播放 | 免费黄色看片 | 黄色影院在线观看 | 在线观看成人小视频 | av再线观看| 亚洲欧洲日韩 | 国产精品一区二区久久久 | 日本亚洲国产 | 久久综合加勒比 | 狠狠操天天射 | 午夜久久久精品 | 成人永久免费 | 又色又爽又激情的59视频 | av色综合网 | 天堂av在线免费 | 欧美福利视频一区 | 日韩一级片网址 | 激情综合色综合久久 | 午夜av在线 | 青春草视频在线播放 | 日韩在线不卡av | 久久久久亚洲精品成人网小说 | 久久毛片视频 | 日韩黄色免费在线观看 | 国产手机在线精品 | 国内精品视频久久 | 99在线热播精品免费 | 美女国产免费 | 国产高清av免费在线观看 | 国语自产偷拍精品视频偷 | 在线播放 亚洲 | 国产精品亚洲精品 | 91在线看视频免费 | 日本在线观看一区 | 日韩av高清在线观看 | 91久久丝袜国产露脸动漫 | 国产一区国产二区在线观看 | 国产亚洲成av人片在线观看桃 | 五月婷婷色| 国产96在线 | 视频成人免费 | 激情自拍av | 精品美女在线视频 | 91丨九色丨高潮 | 欧美性做爰猛烈叫床潮 | 97在线影院| 不卡av电影在线 | 四虎永久免费网站 | 免费手机黄色网址 | 免费合欢视频成人app | 夜夜骑日日操 | 日韩啪啪小视频 | 国产午夜精品视频 | 久久精品影片 | 色噜噜狠狠色综合中国 | 色狠狠操 | 日日干天天爽 | a天堂在线看 | 国产精品高清免费在线观看 | 国产精品日韩在线 | 欧美一区二区三区在线 | 中文字幕中文字幕在线中文字幕三区 | 九九热精| 五月天丁香综合 | 四虎国产精品免费观看视频优播 | 91av视频免费观看 | 黄色av一区二区 | 麻豆一区在线观看 | 精品人人人 | 日本aa在线 | 国产在线一区二区 | 免费观看视频的网站 | 日韩在线一级 | 成人黄色国产 | 久久香蕉电影 | 黄色资源在线观看 | 一区二区三区中文字幕在线观看 | 国模视频一区二区 | 日日夜夜狠狠操 | 色综合久久久久久久 | 精品一二三四在线 | 久久成人亚洲欧美电影 | 粉嫩av一区二区三区四区在线观看 | 波多野结衣资源 | 久久黄色美女 | 久久精品国产免费看久久精品 | 色视频网站在线 | 久久综合欧美精品亚洲一区 | 99久久久久久久久久 | 99在线观看免费视频精品观看 | 日日夜夜天天久久 | 色婷婷伊人 | 精品在线播放视频 | 免费看污网站 | 天天摸夜夜添 | 97狠狠干| 超碰97国产精品人人cao | 96视频在线 | 91九色porny蝌蚪主页 | 欧美一级黄色网 | 国产亚洲精品日韩在线tv黄 | 久久久久女教师免费一区 | av噜噜噜在线播放 | 精品超碰 | 99国产精品一区二区 | 久久精品视频免费观看 | 一区二区精品在线视频 | 日免费视频 | 亚洲视频aaa | 91视视频在线直接观看在线看网页在线看 | 亚洲精品视频在线观看免费 | 久久艹久久 | 日本中文字幕在线视频 | 久久久久久久久久久久久影院 | 国内综合精品午夜久久资源 | 精品国产一区二区三区不卡 | 日韩精品免费一线在线观看 | 中文字幕在线播出 | 久久成人精品 | 日韩成人xxxx| www.99热精品| 亚洲精品久久久久久久不卡四虎 | 日本精品中文字幕在线观看 | 在线观看视频你懂得 | 91丨九色丨蝌蚪丨老版 | 亚洲精品一区二区三区高潮 | 99久久精品国产一区 | 黄色视屏在线免费观看 | 日韩亚洲国产精品 | a级国产乱理论片在线观看 特级毛片在线观看 | 丁香花中文在线免费观看 | 91桃色在线观看视频 | 天天综合网久久 | 日韩字幕在线 | 国产精品久久久久久久久久久杏吧 | 韩国av在线| www日韩在线观看 | 中文字幕在线字幕中文 | 国产麻豆精品95视频 | 狠狠操导航 | 国产69精品久久久久久久久久 | 99超碰在线播放 | 久草视频在线资源站 | 久久久精品久久 | 97在线播放| 91精品久久久久久粉嫩 | 99久免费精品视频在线观看 | 国内精品久久久久影院一蜜桃 | 日韩欧美综合在线视频 | 在线色亚洲| 免费下载高清毛片 | 亚洲国产无 | 国产一级黄色电影 | 亚洲精品在线播放视频 | 日日草av| 日日摸日日添夜夜爽97 | 97色婷婷| 久久激情五月丁香伊人 | 天堂av在线网| 亚州国产精品视频 | 亚洲九九爱 | 99久久精品无码一区二区毛片 | 91在线看 | 成人av一级片| 中文字幕乱码日本亚洲一区二区 | 日韩精品一区二区三区免费视频观看 | 精品久久久久久久久久岛国gif | 国产一级二级在线观看 | 国产小视频免费观看 | 91香蕉视频 mp4 | av一级片在线观看 | 91九色在线 | 色婷婷久久一区二区 | 婷婷五月在线视频 | 有码中文字幕 | 美女在线免费视频 | 国产精品网红福利 | 91九色国产在线 | 色狠狠一区二区 | 黄色高清视频在线观看 | 天天综合狠狠精品 | 91久久黄色 | 99re国产视频 | 亚洲理论片 | 国产网站av | 欧美a级免费视频 | 夜夜夜夜操 | 成人性生交大片免费观看网站 | 久久免费毛片视频 | 2000xxx影视 | 精品国产观看 | 久久亚洲私人国产精品 | 韩日电影在线免费看 | 永久免费精品视频网站 | 久久兔费看a级 | 亚洲欧美激情插 | 激情深爱五月 | 国产精在线 | 婷婷在线免费 | 亚洲视频在线视频 | 手机色在线 | 中文在线a√在线 | 免费看三级黄色片 | av在线中文 | 在线日韩av| 亚洲精品在线视频观看 | 久久国产精品一二三区 | 97综合视频 | 久久久久高清 | av线上看| 久久精品久久精品久久39 | 国产一区二区在线观看免费 | 国产精品99久久久久久有的能看 | 精品国自产在线观看 | 欧美日韩在线精品一区二区 | 国产中文字幕免费 | 国产人成看黄久久久久久久久 | 四虎永久免费在线观看 | 五月天狠狠操 | 国产精品久久久久久久久久久免费 | 天天做天天爽 | 国产精品美女免费视频 | 黄色a一级片 | 一区二区三区在线视频观看58 | 黄色免费观看网址 | 在线视频 区 | 亚洲电影自拍 | 久久久999精品视频 国产美女免费观看 | 成人欧美在线 | 欧美污在线观看 | 亚洲另类在线视频 | 国产精品成久久久久三级 | 国产亚洲视频系列 | 色综合久 | 免费a级大片 | 又黄又爽又无遮挡免费的网站 | 麻豆一二三精选视频 | 97超视频免费观看 | 久久久久色 | 人人草天天草 | 网站免费黄 | 国产精品v欧美精品v日韩 | 91香蕉视频黄色 | 久久久久国产一区二区 | 99在线精品视频 | 伊人超碰在线 | 久久激情五月激情 | 国产精彩在线视频 | 黄网站色视频 | 成人黄视频 | 青春草视频在线播放 | 夜夜爱av | 99免费在线视频观看 | 国产xxxx做受性欧美88 | 日韩手机在线观看 | 91高清完整版在线观看 | 五月激情av| 伊人看片 | 天天摸天天舔天天操 | 精品在线免费观看 | 成人在线视频你懂的 | av成人亚洲| 国产资源精品在线观看 | 国产91勾搭技师精品 | 99热这里只有精品1 av中文字幕日韩 | 久久国产手机看片 | 久久久免费看片 | 激情网在线视频 | 欧美在线一级片 | 99亚洲精品 | 国产在线观看你懂的 |