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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

rxjava 循环发送事件_使用RxJava和SseEmitter进行服务器发送的事件

發(fā)布時間:2023/12/3 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rxjava 循环发送事件_使用RxJava和SseEmitter进行服务器发送的事件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

rxjava 循環(huán)發(fā)送事件

Spring Framework 4.2 GA即將發(fā)布,讓我們看一下它提供的一些新功能。 引起我注意的一個事件是一個簡單的新類SseEmitter ,它是對Spring MVC控制器中容易使用的發(fā)送事件的抽象。 SSE是一項技術(shù),可讓您在一個HTTP連接內(nèi)沿一個方向?qū)?shù)據(jù)從服務(wù)器流式傳輸?shù)綖g覽器。 聽起來像是websocket可以做什么的子集。 但是,由于它是一個簡單得多的協(xié)議,因此可以在不需要全雙工的情況下使用,例如實時推動股價變化或顯示長時間運行的進程。 這將是我們的例子。

假設(shè)我們有一個具有以下API的虛擬硬幣礦工:

public interface CoinMiner {BigDecimal mine() {//...} }

每次調(diào)用mine()我們都必須等待幾秒鐘,才能獲得大約1個硬幣的回報(平均)。 如果要挖掘多個硬幣,則必須多次調(diào)用此方法:

@RestController public class MiningController {//...@RequestMapping("/mine/{count}")void mine(@PathVariable int count) {IntStream.range(0, count).forEach(x -> coinMiner.mine());}}

這項工作,我們可以請求/mine/10和mine()方法將執(zhí)行10次。 到目前為止,一切都很好。 但是挖掘是一項占用大量CPU的任務(wù),將計算分散到多個內(nèi)核將是有益的。 此外,即使使用并行化,我們的API端點也相當(dāng)慢,我們必須耐心等待直到所有工作完成而沒有任何進度通知。 讓我們首先修復(fù)并行性–但是,由于并行流無法控制底層線程池,因此我們來使用顯式的ExecutorService :

@Component class CoinMiner {CompletableFuture<BigDecimal> mineAsync(ExecutorService executorService) {return CompletableFuture.supplyAsync(this::mine, executorService);}//...}

客戶端代碼必須顯式提供ExecutorService (只是設(shè)計選擇):

@RequestMapping("/mine/{count}") void mine(@PathVariable int count) {final List<CompletableFuture<BigDecimal>> futures = IntStream.range(0, count).mapToObj(x -> coinMiner.mineAsync(executorService)).collect(toList());futures.forEach(CompletableFuture::join); }

首先多次調(diào)用mineAsync ,然后(作為第二階段)等待所有期貨完成并join ,這mineAsync重要。 很容易寫:

IntStream.range(0, count).mapToObj(x -> coinMiner.mineAsync(executorService)).forEach(CompletableFuture::join);

但是,由于Java 8中流的惰性,該任務(wù)將按順序執(zhí)行! 如果您還不習(xí)慣流的懶惰,請始終從下至上閱讀它們:我們要求join一些將來的內(nèi)容,以便流上升并只調(diào)用一次mineAsync() (惰性!),并將其傳遞給join() 。 當(dāng)join()完成時,它再次上升并要求另一個Future 。 通過使用collect()我們強制所有mineAsync()執(zhí)行,開始所有異步計算。 稍后,我們等待每一個。

介紹

現(xiàn)在該變得更具React性了(我說過了)。 控制器可以返回SseEmitter的實例。 從處理程序方法return后,容器線程將被釋放并可以處理更多即將到來的請求。 但是連接沒有關(guān)閉,客戶端一直在等待! 我們應(yīng)該做的是保留對SseEmitter實例的引用,并在以后從另一個線程調(diào)用其send()和complete方法。 例如,我們可以啟動一個長時間運行的進程,并保持send()從任意線程進行進度。 完成該過程后,我們complete() SseEmitter ,最后關(guān)閉HTTP連接(至少從邏輯SseEmitter ,請記住Keep-alive )。 在下面的示例中,我們有一堆CompletableFuture ,當(dāng)每個CompletableFuture完成時,我們只需將1發(fā)送給客戶端( notifyProgress() )。 當(dāng)所有期貨都完成后,我們完成流( thenRun(sseEmitter::complete) ),關(guān)閉連接:

@RequestMapping("/mine/{count}") SseEmitter mine(@PathVariable int count) {final SseEmitter sseEmitter = new SseEmitter();final List<CompletableFuture<BigDecimal>> futures = mineAsync(count);futures.forEach(future ->future.thenRun(() -> notifyProgress(sseEmitter)));final CompletableFuture[] futuresArr = futures.toArray(new CompletableFuture[futures.size()]);CompletableFuture.allOf(futuresArr).thenRun(sseEmitter::complete);return sseEmitter; }private void notifyProgress(SseEmitter sseEmitter) {try {sseEmitter.send(1);} catch (IOException e) {throw new RuntimeException(e);} }private List<CompletableFuture<BigDecimal>> mineAsync(@PathVariable int count) {return IntStream.range(0, count).mapToObj(x -> coinMiner.mineAsync(executorService)).collect(toList()); }

調(diào)用此方法將產(chǎn)生以下響應(yīng)(注意Content-Type ):

< HTTP/1.1 200 OK < Content-Type: text/event-stream;charset=UTF-8 < Transfer-Encoding: chunked < data:1data:1data:1data:1* Connection #0 to host localhost left intact

稍后我們將學(xué)習(xí)如何在客戶端解釋這種響應(yīng)。 現(xiàn)在暫時讓我們整理一下設(shè)計。

與引進RxJava

上面的代碼有效,但是看起來很混亂。 我們實際上有一系列事件,每個事件都代表計算的進度。 計算最終完成,因此流也應(yīng)發(fā)出信號結(jié)束。 聽起來就像是Observable ! 我們從重構(gòu)CoinMiner開始,以返回Observable<BigDecimal :

Observable<BigDecimal> mineMany(int count, ExecutorService executorService) {final ReplaySubject<BigDecimal> subject = ReplaySubject.create();final List<CompletableFuture<BigDecimal>> futures = IntStream.range(0, count).mapToObj(x -> mineAsync(executorService)).collect(toList());futures.forEach(future ->future.thenRun(() -> subject.onNext(BigDecimal.ONE)));final CompletableFuture[] futuresArr = futures.toArray(new CompletableFuture[futures.size()]);CompletableFuture.allOf(futuresArr).thenRun(subject::onCompleted);return subject; }

每當(dāng)mineMany()返回的事件出現(xiàn)在Observable ,我們就mineMany()那么多硬幣。 當(dāng)所有期貨都完成后,我們也完成了交易。 在實現(xiàn)方面,這看起來還沒有改善,但是從控制器的角度來看,它有多干凈:

@RequestMapping("/mine/{count}") SseEmitter mine(@PathVariable int count) {final SseEmitter sseEmitter = new SseEmitter();coinMiner.mineMany(count, executorService).subscribe(value -> notifyProgress(sseEmitter),sseEmitter::completeWithError,sseEmitter::complete);return sseEmitter; }

調(diào)用coinMiner.mineMany()我們只需訂閱事件。 事實證明Observable和SseEmitter方法匹配1:1。 這里發(fā)生的事情是不言自明的:啟動異步計算,每當(dāng)后臺計算發(fā)出任何進度信號時,將其轉(zhuǎn)發(fā)給客戶端。 好的,讓我們回到實現(xiàn)上。 由于我們將CompletableFuture和Observable混合使用,因此看起來很混亂。 我已經(jīng)描述了如何僅使用一個元素將CompletableFuture轉(zhuǎn)換為Observable 。 這是一個概述,包括rx.Single從RxJava 1.0.13開始發(fā)現(xiàn)的rx.Single抽象(此處未使用):

public class Futures {public static <T> Observable<T> toObservable(CompletableFuture<T> future) {return Observable.create(subscriber ->future.whenComplete((result, error) -> {if (error != null) {subscriber.onError(error);} else {subscriber.onNext(result);subscriber.onCompleted();}}));}public static <T> Single<T> toSingle(CompletableFuture<T> future) {return Single.create(subscriber ->future.whenComplete((result, error) -> {if (error != null) {subscriber.onError(error);} else {subscriber.onSuccess(result);}}));}}

將這些實用程序運算符放在某個地方,我們可以改善實現(xiàn)并避免混合使用兩個API:

Observable<BigDecimal> mineMany(int count, ExecutorService executorService) {final List<Observable<BigDecimal>> observables = IntStream.range(0, count).mapToObj(x -> mineAsync(executorService)).collect(toList());return Observable.merge(observables); }Observable<BigDecimal> mineAsync(ExecutorService executorService) {final CompletableFuture<BigDecimal> future = CompletableFuture.supplyAsync(this::mine, executorService);return Futures.toObservable(future); }

RxJava有一個內(nèi)置的運算符,用于將多個Observable合并為一個,我們的每個基礎(chǔ)Observable發(fā)出一個事件。

深入研究RxJava運算符

讓我們使用RxJava的功能來稍微改善流式傳輸。

scan()

當(dāng)前,每次我們開采一枚硬幣時,我們都會send(1)客戶端send(1)事件。 這意味著每個客戶都必須跟蹤其已經(jīng)收到的硬幣數(shù)量,以便計算總的計算數(shù)量。 如果服務(wù)器總是發(fā)送總金額而不是增量,那就太好了。 但是,我們不想更改實現(xiàn)。 事實證明,使用Observable.scan()運算符非常簡單:

@RequestMapping("/mine/{count}") SseEmitter mine(@PathVariable int count) {final SseEmitter sseEmitter = new SseEmitter();coinMiner.mineMany(count, executorService).scan(BigDecimal::add).subscribe(value -> notifyProgress(sseEmitter, value),sseEmitter::completeWithError,sseEmitter::complete);return sseEmitter; }private void notifyProgress(SseEmitter sseEmitter, BigDecimal value) {try {sseEmitter.send(value);} catch (IOException e) {e.printStackTrace();} }

scan()運算符接收上一個事件和當(dāng)前事件,并將它們組合在一起。 通過應(yīng)用BigDecimal::add我們只需將所有數(shù)字相加即可。 例如1、1 + 1,(1 + 1)+ 1,依此類推。 scan()類似于flatMap() ,但保留中間值。

用sample()采樣

可能是因為我們的后端服務(wù)產(chǎn)生了太多的進度更新,我們無法使用。 我們不想給客戶端增加不相關(guān)的更新并飽和帶寬。 每秒最多發(fā)送兩次更新聽起來很合理。 幸運的是,RxJava也有一個內(nèi)置的運算符:

Observable<BigDecimal> obs = coinMiner.mineMany(count, executorService); obs.scan(BigDecimal::add).sample(500, TimeUnit.MILLISECONDS).subscribe(//...);

sample()將定期查看底層流,并僅發(fā)出最新的項,并丟棄中間項。 幸運的是,我們使用scan()即時聚合了項目,因此我們不會丟失任何更新。

window() –恒定的發(fā)射間隔

不過有一個陷阱。 如果在選定的500毫秒內(nèi)沒有新內(nèi)容出現(xiàn), sample()將不會兩次發(fā)出相同的項目。 很好,但是請記住我們正在通過TCP / IP連接推送這些更新。 最好定期將更新發(fā)送給客戶端,即使在此期間什么也沒發(fā)生–只是為了保持連接的正常運行,就像ping 。 可能有多種方法可以實現(xiàn)此要求,例如,涉及timeout()運算符。 我選擇使用window()運算符每500毫秒對所有事件進行分組:

Observable<BigDecimal> obs = coinMiner.mineMany(count, executorService); obs.window(500, TimeUnit.MILLISECONDS).flatMap(window -> window.reduce(BigDecimal.ZERO, BigDecimal::add)).scan(BigDecimal::add).subscribe(//...);

這是一個棘手的問題。 首先,我們將所有進度更新分組在500毫秒的窗口中。 然后,我們使用reduce來計算在此時間段內(nèi)開采的硬幣的總數(shù)(類似于scan() )。 如果在此期間未開采任何硬幣,我們只需返回ZERO 。 最后,我們使用scan()匯總每個窗口的小計。 我們不再需要sample()因為window()確保每500毫秒發(fā)出一個事件。

客戶端

JavaScript中有很多SSE用法示例,因此為您提供一種調(diào)用我們的控制器的快速解決方案:

var source = new EventSource("/mine/10"); source.onmessage = function (event) {console.info(event); };

我相信SseEmitter是Spring MVC的一項重大改進,它將使我們能夠編寫更健壯和更快的Web應(yīng)用程序,需要即時的單向更新。

翻譯自: https://www.javacodegeeks.com/2015/08/server-sent-events-with-rxjava-and-sseemitter.html

rxjava 循環(huán)發(fā)送事件

總結(jié)

以上是生活随笔為你收集整理的rxjava 循环发送事件_使用RxJava和SseEmitter进行服务器发送的事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

日韩免费精品 | 中文字幕在线播放一区二区 | av成人在线看 | 免费看一级一片 | 日韩av片免费在线观看 | 亚洲国产高清在线观看视频 | av一级片在线观看 | 久久精品aaa | 欧美日韩中文在线观看 | 国产在线精品区 | 精品国产一二三四区 | 中文字幕乱码电影 | 欧美人交a欧美精品 | 福利一区在线 | 日本韩国精品一区二区在线观看 | 精品久久五月天 | 米奇四色影视 | 丁香花中文字幕 | 亚洲高清视频在线 | 国产成人福利 | 91在线看免费 | 国产中文字幕在线观看 | www激情com| 国产资源在线播放 | 亚洲午夜小视频 | 国产美女在线免费观看 | 亚洲日本在线一区 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | www.av在线.com | 精品国产伦一区二区三区免费 | 免费在线日韩 | 亚洲欧美日韩国产一区二区 | 97免费在线视频 | 在线播放视频一区 | 中文字幕永久在线 | 日日夜夜狠狠 | 福利视频 | 波多野结衣久久资源 | 国产精品精品视频 | 国产三级av在线 | 国产日韩中文字幕在线 | 在线观看免费成人 | 亚洲国产成人高清精品 | 国内精品亚洲 | 激情久久久| 成人精品国产免费网站 | 激情五月婷婷综合网 | 成人毛片a| 日本系列中文字幕 | 久久精品直播 | 日韩资源在线观看 | 日韩中文字幕视频在线观看 | 中文字幕欧美三区 | 91亚洲视频在线观看 | 国产精品中文字幕av | 99视频+国产日韩欧美 | 狠狠狠色丁香婷婷综合激情 | 在线观看完整版 | 色丁香婷婷 | 亚洲天天综合网 | 欧美日韩一区二区三区不卡 | 奇人奇案qvod| 在线韩国电影免费观影完整版 | 国产亚洲精品bv在线观看 | 日韩免费观看一区二区三区 | 男女啪啪免费网站 | 精品亚洲一区二区 | 999精品网 | 人人草在线视频 | 精品国产一区二区三区噜噜噜 | 国产精品毛片一区视频播不卡 | 日韩系列在线 | 精品极品在线 | 国产伦精品一区二区三区… | 国产成人不卡 | 亚洲精品视频免费看 | 91精品一区在线观看 | 国产亚洲一区二区在线观看 | 在线观看一级视频 | 色婷婷婷| 在线视频一二三 | 亚洲一级免费观看 | 国产精品久久电影观看 | 国产精品美女久久久久久 | 天天操天天操天天操天天 | 成人av免费 | 国产欧美在线一区 | 91精品第一页 | 99热最新地址 | 91精彩视频| 91麻豆国产福利在线观看 | 亚洲理论在线观看 | 免费观看成年人视频 | 午夜精品久久久久久中宇69 | 国内久久久 | 久久第四色 | 欧美日韩视频免费 | 日韩午夜高清 | 99久久影院 | 97人人看| 久草国产在线观看 | 欧美性极品xxxx做受 | 亚洲视频在线免费观看 | 国产精品免费小视频 | 成人中文字幕+乱码+中文字幕 | 欧美一级欧美一级 | 欧美日韩另类在线观看 | 亚洲片在线资源 | 色姑娘综合天天 | 天天射网| 国产午夜精品一区二区三区四区 | 亚洲人成人天堂h久久 | 夜夜视频欧洲 | 91九色最新地址 | 日韩精品中文字幕在线观看 | 成人av电影免费在线播放 | 日韩久久精品一区二区三区下载 | 99这里只有久久精品视频 | bbbbb女女女女女bbbbb国产 | 一级黄色a视频 | 国产成人精品一区二区在线 | 亚洲九九精品 | av福利超碰网站 | 成人99免费视频 | 亚洲狠狠婷婷 | 婷婷六月丁香激情 | 久久a免费视频 | 免费一级片观看 | 久久精品国产一区二区三区 | 国产一二三四在线观看视频 | 国产1区2区3区精品美女 | 日韩欧美一区二区三区视频 | 日日爽天天| 免费麻豆 | 看国产黄色大片 | 亚洲a网| 国产一级片一区二区三区 | 亚洲精品乱码久久久久久9色 | 久久久久久亚洲精品 | 高清视频一区二区三区 | 国产精品视频内 | 热99在线视频 | 99免费在线观看视频 | 国产一区在线精品 | 日韩高清片 | 99久久er热在这里只有精品66 | 国产探花 | 激情视频网页 | 园产精品久久久久久久7电影 | 久热国产视频 | 91久久精品日日躁夜夜躁国产 | 69国产精品视频 | 免费观看黄 | 久久久久久久综合色一本 | 成年人精品 | 亚洲黄a| 黄色免费看片网站 | 东方av免费在线观看 | 欧美一区二区日韩一区二区 | 亚洲在线精品视频 | 国产在线观看你懂得 | 亚洲va综合va国产va中文 | 高清不卡一区二区三区 | 久久99免费| 日日夜夜艹 | 免费视频在线观看网站 | 在线91播放 | 亚洲国产电影在线观看 | 国产精品一区二区在线免费观看 | 四虎免费在线观看 | 特级西西www44高清大胆图片 | 综合成人在线 | 亚洲h视频在线 | 天天色天天色 | 五月黄色 | 日韩一区二区三区高清免费看看 | 日韩视频免费播放 | 亚洲四虎影院 | 草久在线 | av在线永久免费观看 | 国产69精品久久久久99 | 欧美性大战 | 成人在线你懂得 | 不卡视频一区二区三区 | 日本精油按摩3 | 国产精品美乳一区二区免费 | 日本中文乱码卡一卡二新区 | 国产 一区二区三区 在线 | 欧美一区二区三区激情视频 | 国产成人精品一区二区三区福利 | 91麻豆.com| 在线亚洲人成电影网站色www | 国产精品毛片久久久久久久 | 午夜10000| 91爱爱电影 | 久久天天躁狠狠躁夜夜不卡公司 | 国产精品欧美久久 | 91免费在线视频 | 91.精品高清在线观看 | 国产精品99久久久久久人免费 | 96av在线视频 | 日韩在线电影一区二区 | 国产一区视频在线观看免费 | 91精品国自产在线观看欧美 | 91视频免费视频 | 中文字幕 国产专区 | 色综合久久五月天 | 国产字幕av | 99精品久久久久久久久久综合 | 婷婷丁香激情 | www.色婷婷.com | 欧美精品天堂 | 久久免费黄色网址 | 99c视频高清免费观看 | www.日日日.com | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲国产中文字幕在线观看 | 美女精品久久 | 精品久久久久久综合 | 成人三级av | 亚洲人成在线电影 | 粉嫩av一区二区三区免费 | 日日爱视频 | 国产在线欧美在线 | 韩国av免费在线 | 国产96在线观看 | 狂野欧美激情性xxxx欧美 | 精品一区久久 | 国产成人亚洲在线电影 | 亚洲综合在线一区二区三区 | 中文字幕国产一区二区 | 久久人91精品久久久久久不卡 | 99久久99久国产黄毛片 | 日本黄色免费电影网站 | 欧美日韩观看 | 欧美激情视频一二三区 | 中文字幕在线观看的网站 | 在线观看一区二区视频 | 亚洲视频综合 | 六月丁香激情综合色啪小说 | 黄色www免费 | 成人在线播放视频 | 成人黄色小说网 | 成人免费观看视频大全 | 天天躁日日躁狠狠躁av中文 | 中文字幕永久免费 | 亚洲国产日韩精品 | 国产精品久久三 | 日日躁你夜夜躁你av蜜 | 激情文学综合丁香 | 三级免费黄 | 免费成人黄色 | 欧美精品亚州精品 | 亚洲天堂精品视频在线观看 | 一区二区电影网 | 97视频久久久 | 中文字幕在线影视资源 | 99热在| 亚州激情视频 | 亚洲精品午夜久久久久久久久久久 | 日韩在线电影观看 | 碰超人人 | 五月激情婷婷丁香 | 免费在线看v| 久久综合毛片 | 黄色91在线| 91福利影院在线观看 | 在线三级播放 | 国产色秀视频 | 超碰97公开| 日韩av五月天 | 13日本xxxxxⅹxxx20 | 黄av资源 | 国产在线观看免 | 91资源在线观看 | 久久久久国产精品厨房 | 久久99日韩 | 91福利影院在线观看 | 久久国产乱 | 精品中文字幕视频 | 日韩美在线观看 | 久久婷综合 | 亚一亚二国产专区 | 久久亚洲私人国产精品va | 手机看国产毛片 | 91亚色视频| 日本中文字幕久久 | 日韩一区正在播放 | 国产一级二级三级在线观看 | 777久久久| 日本黄色免费在线观看 | 国产看片 色 | 亚洲国产激情 | 亚洲第一区在线观看 | 香蕉视频在线播放 | 国产精品麻豆欧美日韩ww | 日韩一区精品 | 精品一区二三区 | 久久久国产一区二区三区 | 婷婷www | 精品电影一区 | 91成人在线观看高潮 | 日韩欧美精品一区二区三区经典 | 日日干网 | 天天看天天干 | 欧美日韩高清一区二区 国产亚洲免费看 | 天天干天天弄 | 久久一区二区免费视频 | 国产精品网在线观看 | 久久久久久美女 | 成人一级黄色片 | 黄色av电影免费观看 | 免费一区在线 | 免费av网站观看 | 亚洲欧美国产精品 | 精品免费在线视频 | 日韩欧美有码在线 | 国产精品99久久免费观看 | 欧美日韩国产在线一区 | 中文字幕免费国产精品 | 免费观看完整版无人区 | 久久免费成人精品视频 | 五月天堂网 | 久久亚洲热 | 1024久久| 久久久国产网站 | 一级a性色生活片久久毛片波多野 | 一级免费黄色 | 亚洲激精日韩激精欧美精品 | 国产成人av一区二区三区在线观看 | 亚洲人成人在线 | 久久99精品国产麻豆婷婷 | 日韩精品中文字幕av | 国产精品一区二区免费 | 伊人激情网 | 国产资源在线视频 | 中文一二区| 国产亚洲精品久 | 欧美日韩在线视频一区二区 | 中文字幕在线播出 | 亚洲欧美精品在线 | 五月天婷婷在线观看视频 | 美女亚洲精品 | 天天操天天舔天天爽 | 国产福利免费看 | 亚洲日日日 | 国产精品露脸在线 | 久久久久9999亚洲精品 | 日本特黄一级 | 久精品视频在线 | 精品久久久久久一区二区里番 | 国产精品av一区二区 | 免费av网址在线观看 | 五月婷婷综合色拍 | 日韩精品一区二区在线观看视频 | 日本99精品 | 成人免费在线看片 | 免费网址在线播放 | 国产精品福利一区 | 丁香婷婷激情啪啪 | 亚洲伊人婷婷 | 麻豆影视在线观看 | 亚洲精品久久久久久久不卡四虎 | 99久免费精品视频在线观看 | 最新国产在线观看 | 精品国产乱码久久久久久1区2匹 | 国产一区二区三区高清播放 | 欧美男同网站 | 美女网站视频免费黄 | 久久久九九 | 久久精品这里热有精品 | 国产高清综合 | 97碰碰精品嫩模在线播放 | 97碰碰精品嫩模在线播放 | av中文字幕在线看 | 色婷婷激情综合 | 色婷婷一区| 亚洲综合在线五月 | 国产精品毛片一区 | 91精品国产99久久久久 | 午夜视频免费 | 国产视频一区在线播放 | 色爱成人网 | 91亚洲精品在线观看 | 久久久午夜精品理论片中文字幕 | 久久精品9 | 久久九九国产精品 | 久久精品国产一区二区三区 | 中文字幕国产精品一区二区 | 成人毛片a | 人人人爽| 国产成人三级三级三级97 | 天堂网在线视频 | 久久天天躁夜夜躁狠狠躁2022 | 日韩欧美高清不卡 | 日韩美女av在线 | 免费av小说| 国产精品久久久久影院 | 人人爽人人澡 | 天堂在线一区二区三区 | 亚洲国产中文字幕在线视频综合 | 久久精品视频在线看 | 中文字幕在线播放视频 | 亚洲精品国产品国语在线 | 国产不卡在线观看视频 | 91在线看免费 | 麻豆视频在线看 | 开心激情五月网 | 久久久综合电影 | 久久99久久99精品免费看小说 | 国产精品久久久久久久av大片 | 久久久久久久久久久久久久电影 | 91麻豆国产 | 91亚洲影院| 亚洲视频1区2区 | 国产又粗又猛又色 | 国产精品久久久久永久免费看 | 亚洲精品美女在线观看播放 | 麻豆久久精品 | 亚洲国产人午在线一二区 | av7777777| 亚洲国产精彩中文乱码av | 91黄视频在线观看 | 九九免费在线观看视频 | 国产精品一区一区三区 | 99久久激情 | 亚洲欧美综合精品久久成人 | 五月天色站 | 九九热在线视频 | 国产精品成人国产乱 | 又黄又刺激的网站 | 中文字幕成人在线观看 | 91三级视频| 久久老司机精品视频 | av一区二区三区在线观看 | 成人午夜毛片 | 天天综合日日夜夜 | 日韩欧美在线第一页 | 色永久免费视频 | 午夜精品视频一区二区三区在线看 | 片网站 | 久久艹国产 | 亚洲黄色激情小说 | 91激情| 国产国产人免费人成免费视频 | 91久久国产精品 | 亚洲一区二区三区毛片 | 久热av在线| 欧美精选一区二区三区 | 丁香影院在线 | 一区 二区 精品 | 99在线免费视频 | 久久精品国产美女 | 国产亚洲资源 | 国产成人一区二区三区电影 | av在线播放网址 | 久久久99精品免费观看乱色 | 成人免费xxx在线观看 | 国产一二三四在线视频 | 韩国一区二区三区在线观看 | 亚洲第一av在线 | 国产中文字幕久久 | 在线精品视频免费观看 | 国产一区二区精品在线 | 国产麻豆精品久久一二三 | 91精品1区2区 | 日本丰满少妇免费一区 | 国产青春久久久国产毛片 | 狠狠的日 | 综合久久久久久 | 国产成年免费视频 | 国产精品久久久久久久久久妇女 | 91在线文字幕 | 伊人夜夜| 中文字幕在线观看第一区 | 91精选在线 | 蜜臀久久99静品久久久久久 | 99在线免费视频 | 精品免费视频123区 午夜久久成人 | 国产精品一区二区果冻传媒 | 久久久久女教师免费一区 | av在线免费观看网站 | 色 免费观看 | 久久综合精品国产一区二区三区 | 在线观看免费黄色 | 在线国产一区 | 91在线播放视频 | 婷婷六月综合网 | 91精选在线 | 久久免费电影 | 在线观看蜜桃视频 | 亚洲日本va午夜在线电影 | 深爱五月激情五月 | 中文字幕欧美三区 | 亚洲精品乱码久久 | 免费电影播放 | 91久久一区二区 | 五月开心网 | 国产在线无 | 久久精品国产亚洲精品2020 | 中文字幕免费高 | 91福利视频一区 | 日韩av伦理片 | 久久成人18免费网站 | 国产一级二级av | 久久在线免费 | japanesefreesex中国少妇 | 亚洲美女视频在线观看 | 免费a v在线 | 美女免费视频一区 | 欧美怡红院 | 国内精品美女在线观看 | 免费看片亚洲 | 国产亚洲精品久久久久久移动网络 | 久草97| 国产精品美女久久久网av | 69av久久 | 亚洲视频 在线观看 | 日韩中文字幕在线看 | 久香蕉 | 亚洲人成影院在线 | 免费福利视频导航 | 久久精精品视频 | 热99在线| 一区二区毛片 | 亚洲成人黄色在线观看 | 久久久精品福利视频 | 91毛片在线 | 97超碰人人澡人人爱学生 | 日韩精品影视 | 亚洲综合网站在线观看 | 涩五月婷婷 | 亚洲精品自在在线观看 | 婷婷亚洲综合五月天小说 | 国产精品免费久久久久久久久久中文 | 免费在线成人av电影 | 亚洲不卡在线 | 国产亚洲精品久久网站 | 欧美日韩在线观看一区二区三区 | 国产精彩视频一区二区 | 五月开心六月伊人色婷婷 | 久99久在线视频 | 婷婷色综合色 | 在线观看日本高清mv视频 | 成人av一区二区在线观看 | 欧美国产精品一区二区 | 在线免费观看av网站 | 97精品国产97久久久久久久久久久久 | 在线视频手机国产 | www.夜色321.com | 日韩在线免费视频观看 | 精品久久久久久亚洲 | 色的网站在线观看 | 狠狠狠狠狠狠 | 性日韩欧美在线视频 | 成人日批视频 | 天天色图 | 国产精品视频观看 | 成人久久亚洲 | 又黄又爽的视频在线观看网站 | 国产亚洲精品久 | 国产视频色 | 毛片一级免费一级 | 丁香婷婷综合色啪 | 日韩毛片精品 | 成人资源在线观看 | 欧美激情视频一区 | 亚洲精品国产第一综合99久久 | av免费播放| 黄色成人91 | 久草精品视频在线播放 | 婷婷五综合 | 四虎影视成人永久免费观看视频 | 亚洲精品成人网 | 91精品国产麻豆 | 中文字幕亚洲在线观看 | 中文字幕一区二区三 | 色噜噜狠狠色综合中国 | 中文字幕久久精品 | 9幺看片 | 黄色午夜网站 | 日韩大陆欧美高清视频区 | 久久精品之 | 国产精品美女毛片真酒店 | 香蕉网在线播放 | 中文字幕在线看视频国产 | 国产精品久久电影网 | 91重口视频 | 久久国产精品久久精品国产演员表 | 99久久精品国产亚洲 | 国产伦理久久精品久久久久_ | 超碰在线人人97 | 黄色av网站在线观看 | 欧美精品xx | 91精品在线观看视频 | 五月天婷婷丁香花 | 波多野结衣电影一区二区三区 | 奇米影视777影音先锋 | 手机av在线免费观看 | 在线观看视频亚洲 | 国产不卡精品 | 99视频精品免费观看, | 日韩成人一级大片 | 国产最顶级的黄色片在线免费观看 | 久久久久在线视频 | 91黄色影视 | 国产精品久久久久永久免费观看 | 激情综合色播五月 | 国产一级a毛片视频爆浆 | 国产手机视频 | 成人免费视频网站在线观看 | 色丁香色婷婷 | 人人干,人人爽 | 免费99精品国产自在在线 | 久久免费成人 | 久久情爱 | 4438全国亚洲精品观看视频 | 毛片一二区 | 久久久受www免费人成 | 国产馆在线播放 | 91精品视频播放 | 在线观看免费黄色 | 日韩欧美视频在线观看免费 | 午夜三级影院 | 成人午夜片av在线看 | 久久嗨 | 久久久国产一区二区三区四区小说 | 久久综合婷婷国产二区高清 | 亚洲一区二区三区毛片 | 国产99久久久国产精品成人免费 | 免费在线成人av电影 | 国产精品丝袜 | 国产一区二区视频在线 | 精品一区精品二区高清 | 精品在线小视频 | 国产一区二区三区网站 | 亚洲激情在线播放 | 九九在线视频免费观看 | 国产精品视频999 | 五月婷婷综合激情网 | 国产精品美女999 | 中文字幕免费高清av | 久久精品99国产国产 | 成人欧美一区二区三区黑人麻豆 | 青春草免费视频 | 91黄色在线视频 | 91大神精品视频在线观看 | 亚洲精品黄色在线观看 | 国产精品福利av | 91看片在线观看 | 色综合久久综合 | 国产成人黄色片 | 日日操天天操狠狠操 | 91成人久久 | 992tv在线| 久久久久成人精品免费播放动漫 | 久久热首页 | 在线导航福利 | 成年人黄色在线观看 | 亚洲女欲精品久久久久久久18 | 国产久草在线观看 | 国产亚洲精品久久久久久无几年桃 | 91激情视频在线 | 免费合欢视频成人app | 久久99精品热在线观看 | 久久亚洲二区 | 色偷偷88888欧美精品久久 | 欧美a影视| 在线看片成人 | 午夜久久久久久久久久久 | 中文在线最新版天堂 | 欧美精品一区二区三区一线天视频 | 国产不卡视频在线播放 | 亚洲精品免费观看 | 久久99久久久久 | 日韩剧情| 日韩免费av网址 | 日日夜夜狠狠 | 99久热在线精品 | 免费国产一区二区视频 | 午夜av激情 | 97精品超碰一区二区三区 | 丁香视频全集免费观看 | 午夜在线免费观看 | 色综合久久久久网 | www久草| 久久天天躁夜夜躁狠狠躁2022 | 日韩在线免费播放 | 欧美大香线蕉线伊人久久 | 国产精品久久久一区二区三区网站 | 国产精品 999 | 免费黄色特级片 | 欧美国产日韩久久 | 婷婷丁香国产 | 91av中文字幕 | 91热视频在线观看 | 911精品美国片911久久久 | 少妇按摩av | 成人国产精品久久久春色 | 色com网 | 亚洲情感电影大片 | 久久深夜福利免费观看 | 久久精品99国产精品亚洲最刺激 | 久热只有精品 | 人人澡视频 | 久久久久久久久福利 | 成人免费在线播放视频 | 久久婷亚洲五月一区天天躁 | 一区二区不卡高清 | 人人爽久久涩噜噜噜网站 | 精品亚洲在线 | 日本h视频在线观看 | 人人爽网站 | 天堂久色 | 看av在线| 91视频啪 | 欧美日韩国产综合网 | 国产精品高潮在线观看 | 天天激情在线 | 黄色成人av网址 | 亚洲高清视频一区二区三区 | www.97视频 | 久久久久久蜜av免费网站 | 日本一区二区高清不卡 | 天天操天天干天天综合网 | 性色av一区二区三区在线观看 | 久久国产精品一区二区三区 | 一级黄色免费 | 亚洲电影久久 | 91av视频播放| 久久综合色婷婷 | 国产成视频在线观看 | 亚洲男男gaygay无套 | 亚洲精品一区二区三区在线观看 | 在线观看成人毛片 | 日韩欧美电影网 | av黄色免费网站 | 欧美做受高潮电影o | 国产一级在线视频 | 国产在线精品区 | 日韩高清片 | 国产精品12 | 久久99精品国产99久久 | 在线免费av电影 | 国产视频久久久 | 中文字幕资源在线观看 | 天天射天天色天天干 | 黄色一级大片在线免费看国产一 | 天天操天天色天天射 | 久久久久久久久久久综合 | 精品一区电影国产 | 国模视频一区二区三区 | 欧美久久久久久久久久久久 | 日韩欧美国产视频 | 夜夜操网站 | 一区二区三区中文字幕在线 | 国产精品久久久久久久久久久久午夜片 | 在线97| 久草精品视频在线播放 | 色婷婷免费 | 国产精品美女久久久久aⅴ 干干夜夜 | 日本黄色特级片 | 国产粉嫩在线观看 | a视频在线观看免费 | 国产精品免费一区二区 | 奇米影视8888 | 亚洲一级片av | 又黄又爽又刺激的视频 | 人人玩人人添人人 | 欧美va在线观看 | www.狠狠 | 欧美大片在线看免费观看 | 日本韩国精品一区二区在线观看 | 国产不卡av在线播放 | 丁香高清视频在线看看 | 日韩精选在线 | 天天视频色版 | 麻豆视频在线观看 | 免费看污黄网站 | 精品国偷自产国产一区 | 日本成址在线观看 | 亚洲综合欧美精品电影 | 国内精品视频久久 | 日韩免费视频 | 一区二区三区精品在线 | 成人免费视频视频在线观看 免费 | 亚洲撸撸 | 最近久乱中文字幕 | 91看毛片 | 香蕉看片| 一区二区三区免费网站 | 国产高清视频在线 | 天天插综合 | 黄色片免费看 | va视频在线 | 99热这里是精品 | 天天躁日日| 日韩高清不卡在线 | 日韩在线网址 | 91亚洲精品国产 | 成人久久网| 日韩三区在线观看 | 免费视频久久久久 | 亚洲国产日韩av | 在线视频一二区 | 四虎www. | 欧美精品久久久久久 | 欧美精品在线免费 | 99re国产视频 | 日韩高清无线码2023 | 免费在线观看黄色网 | 久久极品| 免费看的黄网站软件 | 精品欧美小视频在线观看 | 91久久久久久久一区二区 | 亚洲最新av网站 | 精品国产乱码久久久久久浪潮 | av线上看 | 亚洲精品视频免费在线观看 | 丁香激情视频 | 人人干人人上 | 国产在线中文字幕 | 亚洲国产视频在线 | 综合av在线| 国产精品18久久久久久久久 | 欧美国产精品一区二区 | 日日爽夜夜操 | 成年人免费电影在线观看 | 亚洲精品99久久久久中文字幕 | 欧美成人精品在线 | 国产精品video | 久久久国产一区 | 91一区二区三区在线观看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产在线精品视频 | 人人插人人费 | 91最新视频在线观看 | 亚洲午夜精品在线观看 | 欧美a级片网站 | 欧美一级日韩三级 | 九九九在线观看视频 | 超碰97久久 | 中文字幕免费观看 | 四虎永久免费 | 人人爱人人添 | 亚洲精品99 | 国内精品亚洲 | 国产精品手机在线观看 | 国产精品久久久久免费 | 亚洲成熟女人毛片在线 | 亚洲va欧美va人人爽春色影视 | 久草精品视频 | 欧美a影视| 婷婷在线观看视频 | 欧美日韩精品综合 | 欧美极度另类性三渗透 | 国产小视频在线看 | 亚洲精品久久久久999中文字幕 | 欧美伦理一区 | 91成人短视频在线观看 | 国产日韩欧美在线 | 99久久夜色精品国产亚洲96 | 人人超碰免费 | 一区二区三区在线观看中文字幕 | 国色天香永久免费 | adn—256中文在线观看 | 亚洲蜜桃在线 | 久久久久成人免费 | 色噜噜日韩精品一区二区三区视频 | 激情视频在线高清看 | 激情图片区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产资源网| 丝袜美女在线观看 | 国产精品不卡在线观看 | 国产欧美日韩一区 | 美女国产网站 | 精品国产乱码久久久久久1区2匹 | 日韩在线视频免费看 | 国产大片黄色 | 91精品国产综合久久福利 | 十八岁以下禁止观看的1000个网站 | 91精品色| 奇米先锋| 午夜精品一区二区三区在线视频 | 亚洲精品久久久久www | 亚洲一区二区三区四区在线视频 | av免费片 | 99热999| 激情欧美日韩一区二区 | 99亚洲精品视频 | 91久草视频| 色婷婷电影| 天天综合网天天综合色 | 国产色视频网站 | 在线观看韩日电影免费 | av品善网 | 国产五月| 91亚洲夫妻 | 国产又黄又爽又猛视频日本 | 中文字幕国产在线 | 日韩三级免费观看 | 在线观看亚洲国产精品 | 成人免费视频免费观看 | 久久看片 | 日韩欧美成 | 色狠狠操| 丁香亚洲 | 99精品在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 日韩在线播放av | 国产精品尤物视频 | 波多野结衣在线观看一区二区三区 | 久久精品激情 | 9在线观看免费 | 亚洲精欧美一区二区精品 | 成人a视频片观看免费 | 一区二区三区电影在线播 | 99热在线国产 | 国内精品久久久久久久久 | 91久久国产综合精品女同国语 | 日韩中文字幕免费视频 | 国产偷v国产偷∨精品视频 在线草 | 国产精品久久精品国产 | 91精品国产成人观看 | 五月婷综合 | 色婷婷福利 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 毛片一区二区 | 色综合天天色综合 | 国产电影一区二区三区四区 | 久久综合丁香 | 国产精品久久久久久欧美 | 五月天婷婷视频 | a级片网站 | 亚洲国产精品传媒在线观看 | 亚洲精品视频网 | 91成人亚洲 | 久久a级片 | 五月婷婷激情 | 99热精品免费观看 | 免费网站在线观看成人 | 激情五月婷婷综合网 | av免费在线网站 | 欧美成人tv | 超碰官网 | 亚洲精品黄色 | 婷婷五月情 | 久草在线这里只有精品 | 日本在线观看中文字幕 | 一区二区三区四区不卡 | 99精品亚洲| 香蕉视频国产在线观看 | 久久精品导航 | 人人爽人人澡人人添人人人人 | 美女福利视频在线 | 日韩精品黄 | 国产精品久久久久久久久久久久 | 很污的网站 | 欧美少妇18p| 91av电影| 狠狠躁夜夜a产精品视频 | 美女黄视频免费看 | 久热久草在线 | 欧美一级性生活 | 玖玖视频国产 | 日韩欧美高清视频在线观看 | 色欧美视频 | 亚洲一区av| 97国产大学生情侣白嫩酒店 | a√天堂资源 | 91av免费在线观看 | 亚洲国产精品va在线看黑人 | 久久精品男人的天堂 | 五月激情五月激情 | 超碰人在线 | 国产伦精品一区二区三区照片91 | 国产精品免费高清 | 久久久久久久电影 | www婷婷| 午夜婷婷在线观看 | 不卡av电影在线 | 黄色国产成人 | 欧美日韩免费在线观看视频 | 操夜夜操 | 超碰官网| 天天天天天天干 | 久久免费毛片视频 | 99视频久 | 在线免费观看一区二区三区 | www毛片com| 婷婷五月色综合 | 91观看视频 | 国产v在线观看 | 成人av电影免费观看 | 91大神精品视频在线观看 | 亚洲久在线 | 成人中文字幕在线观看 |