久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

詳解PHP Swoole長連接常見問題

瀏覽:95日期:2022-09-07 10:53:49
目錄連接失效問題如何解決如何維持長連接結論連接失效問題

例子

其中,Redis常見的報錯就是:

配置項:timeout

報錯信息:

Error while reading line from the server

Redis可以配置如果客戶端經過多少秒還不給Redis服務器發送數據,那么就會把連接close掉。

MySQL常見的報錯:

配置項:wait_timeout & interactive_timeout

報錯信息:

has gone away

和Redis服務器一樣,MySQL也會定時的去清理掉沒用的連接。

如何解決

1、用的時候進行重連 。優點是簡單,缺點是面臨短連接的問題。

2、定時發送心跳維持連接(推薦)。

如何維持長連接

tcp協議中實現的tcp_keepalive

操作系統底層提供了一組tcp的keepalive配置:

tcp_keepalive_time (integer; default: 7200; since Linux 2.2)The number of seconds a connection needs to be idle before TCPbegins sending out keep-alive probes. Keep-alives are sent onlywhen the SO_KEEPALIVE socket option is enabled. The defaultvalue is 7200 seconds (2 hours). An idle connection isterminated after approximately an additional 11 minutes (9probes an interval of 75 seconds apart) when keep-alive isenabled.Note that underlying connection tracking mechanisms andapplication timeouts may be much shorter.tcp_keepalive_intvl (integer; default: 75; since Linux 2.4)The number of seconds between TCP keep-alive probes.tcp_keepalive_probes (integer; default: 9; since Linux 2.2)The maximum number of TCP keep-alive probes to send beforegiving up and killing the connection if no response is obtainedfrom the other end.8

Swoole底層把這些配置開放出來了,例如:

?php$server = new SwooleServer(’127.0.0.1’, 6666, SWOOLE_PROCESS);$server->set([’worker_num’ => 1,’open_tcp_keepalive’ => 1,’tcp_keepidle’ => 4, // 對應tcp_keepalive_time’tcp_keepinterval’ => 1, // 對應tcp_keepalive_intvl’tcp_keepcount’ => 5, // 對應tcp_keepalive_probes]);

其中:

’open_tcp_keepalive’ => 1, // 總開關,用來開啟tcp_keepalive’tcp_keepidle’ => 4, // 4s沒有數據傳輸就進行檢測// 檢測的策略如下:’tcp_keepinterval’ => 1, // 1s探測一次,即每隔1s給客戶端發一個包(然后客戶端可能會回一個ack的包,如果服務端收到了這個ack包,那么說明這個連接是活著的)’tcp_keepcount’ => 5, // 探測的次數,超過5次后客戶端還沒有回ack包,那么close此連接

我們來實戰測試體驗一下,服務端腳本如下:

<?php$server = new SwooleServer(’127.0.0.1’, 6666, SWOOLE_PROCESS);$server->set([’worker_num’ => 1,’open_tcp_keepalive’ => 1, // 開啟tcp_keepalive’tcp_keepidle’ => 4, // 4s沒有數據傳輸就進行檢測’tcp_keepinterval’ => 1, // 1s探測一次’tcp_keepcount’ => 5, // 探測的次數,超過5次后還沒有回包close此連接]);$server->on(’connect’, function ($server, $fd) {var_dump('Client: Connect $fd');});$server->on(’receive’, function ($server, $fd, $reactor_id, $data) {var_dump($data);});$server->on(’close’, function ($server, $fd) {var_dump('close fd $fd');});$server->start();

我們啟動這個服務器:

~/codeDir/phpCode/hyperf-skeleton # php server.php

然后通過tcpdump進行抓包:

~/codeDir/phpCode/hyperf-skeleton # tcpdump -i lo port 6666tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes

我們此時正在監聽lo上的6666端口的數據包。

然后我們用客戶端去連接它:

~/codeDir/phpCode/hyperf-skeleton # nc 127.0.0.1 6666

此時服務端會打印出消息:

~/codeDir/phpCode/hyperf-skeleton # php server.php

string(17) 'Client: Connect 1'

tcpdump的輸出信息如下:

01:48:40.178439 IP localhost.33933 > localhost.6666: Flags [S], seq 43162537, win 43690, options [mss 65495,sackOK,TS val 9833698 ecr 0,nop,wscale 7], length 0

01:48:40.178484 IP localhost.6666 > localhost.33933: Flags [S.], seq 1327460565, ack 43162538, win 43690, options [mss 65495,sackOK,TS val 9833698 ecr 9833698,nop,wscale 7], length 0

01:48:40.178519 IP localhost.33933 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 9833698 ecr 9833698], length 0

01:48:44.229926 IP localhost.6666 > localhost.33933: Flags [.], ack 1, win 342, options [nop,nop,TS val 9834104 ecr 9833698], length 0

01:48:44.229951 IP localhost.33933 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 9834104 ecr 9833698], length 0

01:48:44.229926 IP localhost.6666 > localhost.33933: Flags [.], ack 1, win 342, options [nop,nop,TS val 9834104 ecr 9833698], length 0

01:48:44.229951 IP localhost.33933 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 9834104 ecr 9833698], length 0

01:48:44.229926 IP localhost.6666 > localhost.33933: Flags [.], ack 1, win 342, options [nop,nop,TS val 9834104 ecr 9833698], length 0

// 省略了其他的輸出

我們會發現最開始的時候,會打印三次握手的包:

01:48:40.178439 IP localhost.33933 > localhost.6666: Flags [S], seq 43162537, win 43690, options [mss 65495,sackOK,TS val 9833698 ecr 0,nop,wscale 7], length 0

01:48:40.178484 IP localhost.6666 > localhost.33933: Flags [S.], seq 1327460565, ack 43162538, win 43690, options [mss 65495,sackOK,TS val 9833698 ecr 9833698,nop,wscale 7], length 0

01:48:40.178519 IP localhost.33933 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 9833698 ecr 9833698], length 0

然后,停留了4s沒有任何包的輸出。

之后,每隔1s左右就會打印出一組:

01:52:54.359341 IP localhost.6666 > localhost.43101: Flags [.], ack 1, win 342, options [nop,nop,TS val 9859144 ecr 9858736], length 0

01:52:54.359377 IP localhost.43101 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 9859144 ecr 9855887], length 0

其實這就是我們配置的策略:

’tcp_keepinterval’ => 1, // 1s探測一次’tcp_keepcount’ => 5, // 探測的次數,超過5次后還沒有回包close此連接

因為我們操作系統底層會自動的給客戶端回ack,所以這個連接不會在5次探測后被關閉。操作系統底層會持續不斷的發送這樣的一組包:

01:52:54.359341 IP localhost.6666 > localhost.43101: Flags [.], ack 1, win 342, options [nop,nop,TS val 9859144 ecr 9858736], length 0

01:52:54.359377 IP localhost.43101 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 9859144 ecr 9855887], length 0

如果我們要測試5次探測后關閉這個連接,可以禁掉6666端口的包:

~/codeDir/phpCode/hyperf-skeleton # iptables -A INPUT -p tcp --dport 6666 -j DROP

這樣會把所有從6666端口進來的包給禁掉,自然,服務器就接收不到從客戶端那一邊發來的ack包了。

然后服務器過5秒就會打印出close(服務端主動的調用了close方法,給客戶端發送了FIN包):

~/codeDir/phpCode/hyperf-skeleton # php server.php

string(17) 'Client: Connect 1'

string(10) 'close fd 1'

我們恢復一下iptables的規則:

~/codeDir/phpCode # iptables -D INPUT -p tcp -m tcp --dport 6666 -j DROP

即把我們設置的規則給刪除了。

通過tcp_keepalive的方式實現心跳的功能,優點是簡單,不要寫代碼就可以完成這個功能,并且發送的心跳包小。缺點是依賴于系統的網絡環境,必須保證服務器和客戶端都實現了這樣的功能,需要客戶端配合發心跳包。還有一個更為嚴重的缺點是如果客戶端和服務器不是直連的,而是通過代理來進行連接的,例如socks5代理,它只會轉發應用層的包,不會轉發更為底層的tcp探測包,那這個心跳功能就失效了。

所以,Swoole就提供了其他的解決方案,一組檢測死連接的配置。

’heartbeat_check_interval’ => 1, // 1s探測一次’heartbeat_idle_time’ => 5, // 5s未發送數據包就close此連接

swoole實現的heartbeat

我們來測試一下:

<?php$server = new SwooleServer(’127.0.0.1’, 6666, SWOOLE_PROCESS);$server->set([’worker_num’ => 1,’heartbeat_check_interval’ => 1, // 1s探測一次’heartbeat_idle_time’ => 5, // 5s未發送數據包就close此連接]);$server->on(’connect’, function ($server, $fd) {var_dump('Client: Connect $fd');});$server->on(’receive’, function ($server, $fd, $reactor_id, $data) {var_dump($data);});$server->on(’close’, function ($server, $fd) {var_dump('close fd $fd');});$server->start();

然后啟動服務器:

~/codeDir/phpCode/hyperf-skeleton # php server.php

然后啟動tcpdump:

~/codeDir/phpCode # tcpdump -i lo port 6666

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes

然后再啟動客戶端:

~/codeDir/phpCode/hyperf-skeleton # nc 127.0.0.1 6666

此時服務器端打印:

~/codeDir/phpCode/hyperf-skeleton # php server.php

string(17) 'Client: Connect 1'

然后tcpdump打?。?/p>

02:48:32.516093 IP localhost.42123 > localhost.6666: Flags [S], seq 1088388248, win 43690, options [mss 65495,sackOK,TS val 10193342 ecr 0,nop,wscale 7], length 0

02:48:32.516133 IP localhost.6666 > localhost.42123: Flags [S.], seq 80508236, ack 1088388249, win 43690, options [mss 65495,sackOK,TS val 10193342 ecr 10193342,nop,wscale 7], length 0

02:48:32.516156 IP localhost.42123 > localhost.6666: Flags [.], ack 1, win 342, options [nop,nop,TS val 10193342 ecr 10193342], length 0

這是三次握手信息。

然后過了5s后,tcpdump會打印出:

02:48:36.985027 IP localhost.6666 > localhost.42123: Flags [F.], seq 1, ack 1, win 342, options [nop,nop,TS val 10193789 ecr 10193342], length 0

02:48:36.992172 IP localhost.42123 > localhost.6666: Flags [.], ack 2, win 342, options [nop,nop,TS val 10193790 ecr 10193789], length 0

也就是服務端發送了FIN包。因為客戶端沒有發送數據,所以Swoole關閉了連接。

然后服務器端會打?。?/p>

~/codeDir/phpCode/hyperf-skeleton # php server.php

string(17) 'Client: Connect 1'

string(10) 'close fd 1'

所以,heartbeat和tcp keepalive還是有一定的區別的,tcp keepalive有?;钸B接的功能,但是heartbeat存粹是檢測沒有數據的連接,然后關閉它,并且只可以在服務端這邊配置,如果需要?;睿部梢宰尶蛻舳伺浜习l送心跳。

如果我們不想讓服務端close掉連接,那么就得在應用層里面不斷的發送數據包來進行?;?,例如我在nc客戶端里面不斷的發送包:

~/codeDir/phpCode/hyperf-skeleton # nc 127.0.0.1 6666

ping

ping

ping

ping

ping

ping

ping

ping

ping

我發送了9個ping包給服務器,tcpdump的輸出如下:

// 省略了三次握手的包

02:57:53.697363 IP localhost.44195 > localhost.6666: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 10249525 ecr 10249307], length 5

02:57:53.697390 IP localhost.6666 > localhost.44195: Flags [.], ack 6, win 342, options [nop,nop,TS val 10249525 ecr 10249525], length 0

02:57:55.309532 IP localhost.44195 > localhost.6666: Flags [P.], seq 6:11, ack 1, win 342, options [nop,nop,TS val 10249686 ecr 10249525], length 5

02:57:55.309576 IP localhost.6666 > localhost.44195: Flags [.], ack 11, win 342, options [nop,nop,TS val 10249686 ecr 10249686], length 0

02:57:58.395206 IP localhost.44195 > localhost.6666: Flags [P.], seq 11:16, ack 1, win 342, options [nop,nop,TS val 10249994 ecr 10249686], length 5

02:57:58.395239 IP localhost.6666 > localhost.44195: Flags [.], ack 16, win 342, options [nop,nop,TS val 10249994 ecr 10249994], length 0

02:58:01.858094 IP localhost.44195 > localhost.6666: Flags [P.], seq 16:21, ack 1, win 342, options [nop,nop,TS val 10250341 ecr 10249994], length 5

02:58:01.858126 IP localhost.6666 > localhost.44195: Flags [.], ack 21, win 342, options [nop,nop,TS val 10250341 ecr 10250341], length 0

02:58:04.132584 IP localhost.44195 > localhost.6666: Flags [P.], seq 21:26, ack 1, win 342, options [nop,nop,TS val 10250568 ecr 10250341], length 5

02:58:04.132609 IP localhost.6666 > localhost.44195: Flags [.], ack 26, win 342, options [nop,nop,TS val 10250568 ecr 10250568], length 0

02:58:05.895704 IP localhost.44195 > localhost.6666: Flags [P.], seq 26:31, ack 1, win 342, options [nop,nop,TS val 10250744 ecr 10250568], length 5

02:58:05.895728 IP localhost.6666 > localhost.44195: Flags [.], ack 31, win 342, options [nop,nop,TS val 10250744 ecr 10250744], length 0

02:58:07.150265 IP localhost.44195 > localhost.6666: Flags [P.], seq 31:36, ack 1, win 342, options [nop,nop,TS val 10250870 ecr 10250744], length 5

02:58:07.150288 IP localhost.6666 > localhost.44195: Flags [.], ack 36, win 342, options [nop,nop,TS val 10250870 ecr 10250870], length 0

02:58:08.349124 IP localhost.44195 > localhost.6666: Flags [P.], seq 36:41, ack 1, win 342, options [nop,nop,TS val 10250990 ecr 10250870], length 5

02:58:08.349156 IP localhost.6666 > localhost.44195: Flags [.], ack 41, win 342, options [nop,nop,TS val 10250990 ecr 10250990], length 0

02:58:09.906223 IP localhost.44195 > localhost.6666: Flags [P.], seq 41:46, ack 1, win 342, options [nop,nop,TS val 10251145 ecr 10250990], length 5

02:58:09.906247 IP localhost.6666 > localhost.44195: Flags [.], ack 46, win 342, options [nop,nop,TS val 10251145 ecr 10251145], length 0

有9組數據包的發送。(這里的Flags [P.]代表Push的含義)

此時服務器還沒有close掉連接,實現了客戶端?;钸B接的功能。然后我們停止發送ping,過了5秒后tcpdump就會輸出一組:

02:58:14.811761 IP localhost.6666 > localhost.44195: Flags [F.], seq 1, ack 46, win 342, options [nop,nop,TS val 10251636 ecr 10251145], length 002:58:14.816420 IP localhost.44195 > localhost.6666: Flags [.], ack 2, win 342, options [nop,nop,TS val 10251637 ecr 10251636], length 0服務端那邊發送了FIN包,說明服務端close掉了連接。服務端的輸出如下:

~/codeDir/phpCode/hyperf-skeleton # php server.php

string(17) 'Client: Connect 1'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(5) 'ping

'

string(10) 'close fd 1'

然后我們在客戶端那邊ctrl + c來關閉連接:

~/codeDir/phpCode/hyperf-skeleton # nc 127.0.0.1 6666

ping

ping

ping

ping

ping

ping

ping

ping

ping

^Cpunt!

~/codeDir/phpCode/hyperf-skeleton #

此時,tcpdump的輸出如下:

03:03:02.257667 IP localhost.44195 > localhost.6666: Flags [F.], seq 46, ack 2, win 342, options [nop,nop,TS val 10280414 ecr 10251636], length 0

03:03:02.257734 IP localhost.6666 > localhost.44195: Flags [R], seq 2678621620, win 0, length 0

應用層心跳

1、制定ping/pong協議(mysql等自帶ping協議)

2、客戶端靈活的發送ping心跳包

3、服務端OnRecive檢查可用性回復pong

例如:

$server->on(’receive’, function (SwooleServer $server, $fd, $reactor_id, $data){if ($data == ’ping’){checkDB();checkServiceA();checkRedis();$server->send(’pong’);}});結論

1、tcp的keepalive最簡單,但是有兼容性問題,不夠靈活

2、swoole提供的keepalive最實用,但是需要客戶端配合,復雜度適中

3、應用層的keepalive最靈活但是最麻煩

以上就是詳解PHP Swoole長連接常見問題的詳細內容,更多關于PHP Swoole長連接常見問題的資料請關注好吧啦網其它相關文章!

標簽: PHP
相關文章:
主站蜘蛛池模板: 波多野结衣中文字幕在线视频 | 亚洲另类视频 | 亚洲欧美国产一区二区 | 成人在线一区二区三区 | 国产视频网 | 天天操网 | 久久久91精品国产一区二区三区 | 国产视频一区在线 | 欧美福利在线观看 | 亚洲成人影院在线观看 | 香蕉成人啪国产精品视频综合网 | 日本在线观看视频一区 | 欧美精品一区二区三区一线天视频 | 日本一级淫片免费看 | 一色视频| 国产乱码精品一区二区三 | 一区二区三区国产免费 | 亚洲伊人成人 | 免费看的黄网站 | 精品久久久久久亚洲综合网站 | 久久午夜综合久久 | 亚洲一区二区精品在线观看 | 99精品国自产在线 | 欧美日韩精品一区二区在线播放 | av在线一区二区三区 | 91中文字幕| 91亚洲精品乱码久久久久久蜜桃 | 国产成人精品一区 | 亚洲一区二区三区四区五区中文 | 美女久久久 | 国产精品久久久久久一级毛片 | 欧洲成人午夜免费大片 | 久久99精品久久久久久久青青日本 | 日韩精品 电影一区 亚洲 | 国产精品99 | 亚洲精品乱码久久久久久国产主播 | 久久精品小视频 | 日韩一级二级三级 | 精品国产鲁一鲁一区二区三区 | 久久久久久久国产精品视频 | 欧美一区二区三区在线 | 久久久久久日产精品 | 欧美成人综合在线 | 国产精选视频 | 国产亚洲一区二区三区在线观看 | 欧美激情国产日韩精品一区18 | h免费在线观看 | 黄色福利 | 青青久久 | 欧美老妇交乱视频 | 操人视频网站 | 日韩精品免费视频 | 性色视频免费观看 | 日韩一二三区在线观看 | 韩国电影久久 | 99热精品在线 | 亚洲a在线观看 | 日韩午夜激情视频 | 成人久久久精品乱码一区二区三区 | 成人一级黄色大片 | 欧美高清成人 | 亚洲欧美成人影院 | 丝袜+亚洲+另类+欧美+变态 | 天天插天天操天天干 | 天天舔日日干 | 免费网站国产 | 娇妻被朋友调教成玩物 | 久久亚洲天堂 | 亚洲国产精品精华液com | 成人小视频在线看 | 中文字幕亚洲一区二区va在线 | 欧美黄色片 | 男人的天堂在线视频 | 成人午夜精品一区二区三区 | 三级av在线 | 亚洲一区在线日韩在线深爱 | 国产国拍亚洲精品av | 日韩欧美在线视频播放 | 国产精品久久久久久久久久久久久 | 中文字幕av一区二区三区 | 成人欧美一区二区三区在线播放 | 国产精品中文字幕在线观看 | 精品国产乱码久久久久久影片 | 国产精品二区三区 | 亚洲三区视频 | 人人看人人射 | 色999视频| 欧美日本精品 | 久久久av| 欧美精品一区视频 | 欧洲成人午夜免费大片 | 日韩中文字幕在线免费观看 | 超碰在线看 | 国产亚洲一区二区三区在线观看 | 狠狠久久婷婷 | 国产第一区二区三区 | 成人中文网 | 久久精品一区二区三区四区 | 国产精品久久久久久网站 | 日韩欧美国产网站 | 国产高清在线精品 | 美日韩一区二区 | 羞羞视频免费在线观看 | 日韩欧美在线不卡 | 欧美黄视频在线观看 | 久久久精品免费看 | 91伊人| av中文在线 | 久草视频在线资源站 | 成人精品一区二区三区中文字幕 | 国产在线观看一区二区 | 天天操天天干天天爽 | 午夜精品久久 | 久福利| 夜夜爽99久久国产综合精品女不卡 | 日本一区二区成人 | 久久99爱视频 | zzzzyyyy精品国产| 日韩三级视频 | 日韩在线一区二区三区 | 久久久久久久国产 | 在线亚州| 国产最新视频 | 亚州中文字幕蜜桃视频 | 日本久久久亚洲精品 | 午夜视频一区二区三区 | 成人影院在线 | 国产黄色大片 | 欧美一区二区三区成人 | 国产一二三区在线观看 | 亚洲精品一区二区三区蜜桃久 | 成人国产精品免费观看 | 99爱视频 | 色爱av | 中文字幕1区 | 草久久久 | 久久一日本道色综合久久 | 天天天天天天天操 | 国产日韩精品在线 | 日本精品一区二 | 精品一区二区三区四区五区 | 青青伊人久久 | 午夜精品在线 | 午夜成人免费电影 | 91精品国产综合久久久久久蜜月 | 精品一二区 | 狠狠干av | 国产成人精品在线 | 欧美 日韩 亚洲 一区 | 亚洲精品亚洲人成人网 | 欧美一区二区三区精品 | 精品96久久久久久中文字幕无 | 日韩在线精品 | 嫩草精品 | 精品第一页 | 日本精品一区二区三区在线观看视频 | 一区二区三区免费视频网站 | 国产欧美一区二区三区在线看 | 天天干天操| 日日摸日日碰夜夜爽亚洲精品蜜乳 | 国产精品亚洲一区二区三区在线 | 一区二区三区在线观看免费 | 91午夜精品一区二区三区 | 中文字幕av一区二区三区 | 中文字幕国产视频 | 久久成人精品一区二区三区 | 欧美一级片免费在线观看 | 欧美一级成人欧美性视频播放 | 欧美一区二区三区在线视频 | 免费观看h视频 | www.久久久.com | 台湾av片 | 久久久久久亚洲精品 | 亚洲视频免费在线 | 国产视频9999 | 国产色婷婷 | 五月网婷婷 | 国产精品美女久久久久久久久久久 | 九九热这里只有精品6 | 国产香蕉97碰碰久久人人九色 | 国产精品二区三区在线观看 | 美女视频黄的免费 | 久久久资源 | 黄色免费网站观看 | 欧洲亚洲视频 | h视频免费在线 | 亚洲欧美日韩精品久久奇米色影视 | 精品一区二区久久久久久久网站 | 婷婷色国产偷v国产偷v小说 | 精品久久久久久久久久久久久久久久久久久 | 欧美全黄 | 在线观看91| 久久综合久久久 | av7777| 欧美色综合天天久久综合精品 | 日韩一区二区三区av | 国产精品日韩欧美一区二区 | 国产一级电影网 | 日韩av成人 | 久久久一| 超碰最新网址 | 午夜精品久久久久久久久久久久久 | 亚洲精品久久久久久下一站 | 一区二区三区小视频 | 久久久久久久国产精品 | 亚洲欧美另类在线观看 | 一区二区三区四区在线 | 国内自拍第一页 | 久操不卡| 国产成人精品一区二区三区视频 | 夜夜av | www.成人在线视频 | 国产精品亚洲欧美日韩一区在线 | √新版天堂资源在线资源 | 伊人免费视频 | 6080亚洲精品一区二区 | 国产精品永久免费视频 | 人人人艹 | 成人网av| 亚洲一区二区三区 | 激情久久久| 精品视频久久久 | 久久亚洲视频 | 中文字幕av网 | 精品一区二区久久久久久久网站 | 久久久久久麻豆 | 成人av影院| 亚洲精品女人久久 | 黄色av免费看 | 精品国产青草久久久久福利 | 国产亚洲精品久久久久久久久 | 欧美激情一区二区三区 | 国产一区二区三区精品久久久 | 国产日韩欧美精品 | 国产精品日本欧美一区二区三区 | 欧美日韩国产高清 | 国产精品高清在线 | 羞羞视频网站 | 亚洲wu码| 亚洲一区二区三区观看 | 97国产精品| 色悠悠久久 | 91精品国产乱码久久久久久久久 | 精品久久久一区二区 | 午夜视频网站 | 国产精品免费观看 | 日韩毛片一级 | 黄色影视网址 | 成人精品视频 | 99精品一区二区三区 | 久久久久久婷婷 | 成人h视频在线观看 | 日韩免费 | 国产精品久久久久久亚洲影视 | 中文字幕一区二区三区在线视频 | 久久久久久免费视频 | 午夜精品视频在线观看 | 日本精品999 | 91精品国产色综合久久不卡98口 | 好姑娘影视在线观看高清 | 成人在线观看免费视频 | 狠狠干狠狠操 | 日韩欧美在线观看视频 | 国产日韩一区二区三区 | 激情久久av一区av二区av三区 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 国产成人精品一区二区 | 亚州av在线 | 999久久久国产精品 欧美成人h版在线观看 | 免费国产一区 | 欧美高清成人 | 久久国内免费视频 | 伊人一二三区 | 欧美人成在线观看 | 欧美激情精品一区 | 精品1区 | 不卡一区 | 中文字幕免费在线观看视频 | 久久国产99 | 香蕉视频一级片 | 午夜私人影院在线观看 | 日本一区二区三区中文字幕 | 久久少妇免费看 | 日本在线一区二区 | 成人免费视频网站在线观看 | 夜夜操操操 | 久久综合一区二区 | 日韩中文字幕在线免费观看 | 亚洲狠狠爱 | 91极品在线 | 欧美一二三区在线 | 巴西性猛交xxxx免费看久久久 | 久久亚洲一区 | 久久久日本 | 国产91网址| av毛片免费看| 综合网亚洲 | 久久久av亚洲男天堂 | www.788.com色淫免费| 日韩视频精品 | www.久久久| 美女操网站 | 二区三区在线观看 | 1000部羞羞视频在线看视频 | 国产99久久精品 | 国产精品99久久久久久www | 毛片av在线| 日韩一区二区在线播放 | 日韩不卡av | 成人小视频在线观看 | 欧美日韩大陆 | 特黄一级| 极品毛片| 91精品国产91久久久久久最新 | 亚洲免费在线视频 | 伊人网站 | 国产精品乱码一区二区三区 | 国产精品欧美久久久久一区二区 | 涩涩导航 | 久久夜色精品 | 永久av| 一本一道久久久a久久久精品91 | 国产v日产∨综合v精品视频 | 成年人免费在线视频 | 欧美日韩亚洲国产 | 欧美性视频网站 | 亚洲日韩欧美一区二区在线 | 久久久久久久久一区二区三区 | 综合久久综合久久 | 亚洲毛片在线 | 91亚洲精品在线观看 | 操操操av | 久久久高清 | 日韩在线二区 | 日韩 国产 在线 | 中文日韩av| 久久这里只有精品首页 | 免费的国产视频 | 中文字幕在线不卡 | 久久久久久久国产 | 欧美在线一区二区三区 | 久久久国产一区二区三区 | 精品国产18久久久久久二百 | 国产最好的精华液网站 | 亚洲精品久久久久午夜 | 国产一级片 | 日本在线观看 | 国产区精品在线 | 美女一区 | 日韩在线免费 | 久久爱成人 | 国产在线综合视频 | 久久se精品一区精品二区 | www.一区| 久草热8精品视频在线观看 欧美全黄 | 午夜影院免费体验区 | 欧美一级视频在线观看 | 天天操天天干视频 | 欧美色爽 | 中文字幕亚洲欧美 | 亚洲精品一区二区三区 | 亚洲一区二区精品 | 亚洲视频一区在线播放 | 一区二区不卡 | 99青青草| 国产综合精品一区二区三区 | 欧美日韩精品一区二区在线播放 | 欧美一区二区三 | 欧美专区中文字幕 | av观看在线| 日韩精品999 | 美女超碰| 欧美日本精品 | 成人国产精品色哟哟 | 在线免费观看色视频 | 国产一区二区视频在线观看 | 国产高清精 | 成人亚洲视频 | 亚洲一区不卡在线 | 国产一区二区三区在线免费观看 | 国产乱码一区二区三区在线观看 | 日韩有码一区 | 黄色毛片视频网站 | 免费毛片大全 | 亚洲成人免费 | av国产精品 | 欧美成人高清 | 精品亚洲一区二区三区四区五区 | 91国内外精品自在线播放 | 成人免费在线观看视频 | 国产一区二区视频精品 | 黄色成人在线观看视频 | 国产精品久久久久久久久久久久久久久久 | www.国产精品| 亚洲成人激情在线观看 | 久久久一区二区 | 国产视频福利在线观看 | 亚洲九九| 欧美一区在线看 | 久久久久久久久久久久国产精品 | 亚洲一区二区三区四区在线观看 | 欧美三级电影在线播放 | 欧美激情在线狂野欧美精品 | 久久久久久久久免费视频 | 日本三级中文在线电影 | 成人伊人 | 亚洲国产在 | 国产美女精品一区二区三区 | 99精品欧美一区二区三区综合在线 | 9999久久久久 | 国产51人人成人人人人爽色哟哟 | 69av在线视频 | 亚洲精选国产 | 国产精品欧美一区二区三区 | 一本大道久久a久久精二百 亚洲欧美高清 | 欧美 亚洲 一区 | 久久成人免费视频 | 久久久久国产 | 精品一级 | 成人免费xxx在线观看 | 欧美大成色www永久网站婷 | 欧美日韩国产中文 | 成人国产在线 | 欧美成人区 | 免费不卡视频 | 久久久国产精品入口麻豆 | 一区二区三区精品视频 | 国产乱码精品一区二区三区手机版 | 日韩色av | 国产欧美日韩综合精品一区二区 | 免费观看一区二区三区毛片 | 国产视频久久精品 | 欧美日本韩国一区二区三区 | 国产成人午夜 | 免费高潮视频95在线观看网站 | 亚洲国产精品久久久男人的天堂 | 国产a免费| 欧美 日本 国产 | 一级毛片aaaaaa免费看 | 求av网站| 亚洲成人av一区二区 | 毛片毛片毛片 | 日韩欧美在线视频免费观看 | 国产精品久久久久久久久久久久久久 | 黄色大片网站在线观看 | 久久国产欧美一区二区三区精品 | 日本精品免费在线观看 | 欧美不卡一区二区 | 亚洲www啪成人一区二区 | 一级黄色毛片a | 人人干在线 | 亚洲福利片 | 欧美成人一区二区 | 一区二区在线视频 | 你懂的在线视频播放 | 久草日本 | 久久久国产一区二区三区 | 国内精品一区二区 | av在线免费观看网站 | 久久99er6热线精品首页蜜臀 | 欧美黄色一区 | 久久久亚洲精 | 性开放xxxhd视频 | 伊人av在线| 一卡二卡久久 | a中文字幕| 中文字幕在线欧美 | 久久免费视频网 | 免费视频一区二区 | 免费看爱爱视频 | 日韩国产欧美一区 | 成人国产 | 精品国产黄a∨片高清在线 99热婷婷 | 91免费看片神器 | 日韩高清在线一区 | 日韩精品视频在线观看免费 | www.日本三级 | 欧美a在线 | 成人欧美日韩一区二区三区 | 999这里只有是极品 免费的一级黄色片 | 日本三级网站在线观看 | 国产一区二区三区四区五区加勒比 | 欧美精品综合 | 日日做夜夜爽毛片麻豆 | 九九99九九精彩46 | 成人一区二区三区在线观看 | 国产福利视频在线观看 | 久久只有精品 | 欧美激情在线播放 | 日韩免费视频 | 91麻豆精品久久久久蜜臀 | 精品99久久久久久 | 欧美精品亚洲精品日韩精品 | 免费亚洲视频 | 精品国产乱码久久久久久密桃99 | 欧美日韩三区 | 成年片| 久久亚洲天堂 | www.日韩在线观看 | 一区二区三区欧美 | 欧美久久一区二区 | 欧美一区二区三区男人的天堂 | 久久久婷 | 精品香蕉一区二区三区 | 日韩视频免费看 | 在线婷婷 | 亚洲精品免费在线观看 | 国产一区二区精品 | 欧美一区2区三区4区公司二百 | 综合在线视频 | 亚洲免费一区 | 在线视频 91| 97久久久国产精品 | 一区二区三区久久久久久 | 国产高清在线精品一区二区三区 | 极情综合网 | 欧美日韩91 | 久久成人国产 | 四季久久免费一区二区三区四区 | 国产精品久久久久久久久免费 | av大片| 在线免费国产视频 | av一区二区三区 | 日韩亚洲 | 国产精品大片在线观看 | 国产剧情一区二区 | 成年无码av片在线 | 日本精品在线播放 | 一区二区在线视频免费观看 | 日韩中文字幕在线免费观看 | 国产精品99久久久久久久vr | 精品无人乱码一区二区三区 | 天天干天天干天天干天天射 | 亚洲第一国产精品 | 国产精品女教师av久久 | 欧美日韩亚洲一区 | 91看片在线观看 | xvideos视频 | 亚洲中出 | 成人久久久 | 女人夜夜春高潮爽a∨片传媒 | 亚洲综合在线一区二区 | 亚洲综合视频在线 | 免费一区| 日韩在线一区二区 | 永久av| 国产一区二区三区四区五区 | 91精品一区 | 亚洲视频免费观看 | 国产一区二区av | а天堂中文最新一区二区三区 | www.亚洲一区二区 | 国产免费高清 | 日韩欧美一区二区三区免费观看 | 国产福利一区二区三区四区 | 一级片免费在线视频 | 四虎最新入口 | 午夜在线电影 | 国产福利网站 | 99视频精品在线 | 日韩精品专区在线影院重磅 | 国产精品中文字幕在线 | 国产玖玖 | 欧美精品一区在线发布 | 欧美成人性生活 | 久久久久亚洲精品 | 欧美成人免费在线观看 | 亚洲精品麻豆 | 欧美视频免费在线 | 精品影院 | 久久r免费视频 | 韩国精品视频在线观看 | 日韩一区免费在线观看 | a在线观看| 欧美精品在线一区 | 玖玖玖影院 | 在线视频成人永久免费 | 亚洲av毛片 | 精品一二三区 | 91极品国产 | 色天天综合久久久久综合片 | 一区二区三区免费 | 99视频精品| 久久人人网 | 99久久婷婷国产精品综合 | 九九热这里只有精品8 | 99精品国产高清一区二区麻豆 | 亚洲一区中文字幕在线观看 | 国产一区二区精品 | 成人在线观看h | 欧美精品亚洲精品 | 在线视频一区二区 | 日韩av资源站 | 精品国产一区一区二区三亚瑟 | 91视频免费观看网址 | 凹凸日日摸日日碰夜夜爽孕妇 | 人人av在线 | 日本a v网站 | 久草热8精品视频在线观看 欧美全黄 | 伊人狠狠干 | 中文字幕在线免费播放 | 天天影视网色香欲综合网无拦截 | 91精品国产综合久久久久久蜜臀 | 精品无人乱码一区二区三区的优势 | 精品国产一区二区三区成人影院 | 青青草视频免费观看 | 国产a级毛片 | 久久久蜜桃| www.日本三级 | 色综合久久天天综合网 | 亚洲免费网 | 成人在线精品 | 亚洲精品自拍 | 精品视频一区二区 | 亚洲国产成人av好男人在线观看 |