• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SingalR 的Web實(shí)時(shí)應(yīng)用程序框架設(shè)計(jì)

    2015-12-20 06:53:30劉黎志
    關(guān)鍵詞:方法

    劉黎志

    (1.武漢工程大學(xué) 智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢430205;2.武漢工程大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢430205)

    0 引 言

    隨著移動(dòng)互聯(lián)網(wǎng)應(yīng)用的迅速發(fā)展,傳統(tǒng)的客戶端瀏覽器與服務(wù)器之間通過(guò)請(qǐng)求/應(yīng)答的方式獲取信息的方式已經(jīng)不能滿足用戶對(duì)數(shù)據(jù)實(shí)時(shí)更新的要求,用戶希望更新的數(shù)據(jù)能夠?qū)崟r(shí)推送到自己的桌面、手機(jī)或平板上,而不需要手動(dòng)更新[1-4]。HTML5 WebSocket可 以 取 代Comet的Long Pooling及Forever Frame技術(shù),使得服務(wù)器和客戶端瀏覽器之間具有實(shí)時(shí)通訊能力。由于WebScoket連接實(shí)際上就是TCP連接,所以基于WebSocket開(kāi)發(fā)的實(shí)時(shí)應(yīng)用程序可以在數(shù)據(jù)傳輸穩(wěn)定性及數(shù)據(jù)傳輸量上得到極大提升[5-8]。微軟的SingalR通過(guò)兼容Comet及HTML5 Web Socket,結(jié)合OWIN (open Web interface for.NET)、Ajax、JQuery等技術(shù),提供給開(kāi)發(fā)人員一個(gè)先進(jìn)的Web實(shí)時(shí)應(yīng)用程序開(kāi)發(fā)平臺(tái)。

    1 SingalR

    SingalR是一組可實(shí)現(xiàn)Web實(shí)時(shí)應(yīng)用程序的組件集合,SingalR 抽象了應(yīng)用程序客戶端和服務(wù)端之間的傳輸協(xié)議,SingalR 支持HTML5的WebSocket,Server Send Event協(xié)議及Comet的Ajax Long Pooling,F(xiàn)orever Frame協(xié)議[9]。SingalR 根據(jù)服務(wù)端及客戶端的不同配置環(huán)境,如瀏覽器類型及版本、操作系統(tǒng)類型,用戶配置等自動(dòng)選擇傳輸協(xié)議。在選擇傳輸協(xié)議的過(guò)程中,SingalR 會(huì)盡量使用HTML5的WebSocket協(xié)議,使用WebSocket協(xié)議可以最有效地利用服務(wù)端內(nèi)存,獲得最低的傳輸延遲及完全的服務(wù)端與客戶端的雙工通信,但使用WebSocket協(xié)議要求服務(wù)端的操作系統(tǒng) 必 須 是Windows Server 2012 或Windows 8,且 支 持.Net Framework 4.5。客戶端必須是最新版的Microsoft Internet Explorer,Google Chrome或Mozilla Firefox瀏覽器。

    SingalR 在服務(wù)端和客戶端之間建立永久的連接,服務(wù)端可以通過(guò)遠(yuǎn)程過(guò)程調(diào)用 (RPC)的方式調(diào)用客戶端的Javascipt函數(shù),從而使得服務(wù)端可以主動(dòng)推送消息到所有的連接客戶端,或特定的客戶端。而不需要客戶端按傳統(tǒng)的請(qǐng)求-應(yīng)答 (request-response)刷新頁(yè)面獲取最新數(shù)據(jù)??蛻舳藙t利用SingalR Hub上下文代理類調(diào)用服務(wù)端函數(shù)。服務(wù)端與客戶端相互調(diào)用的過(guò)程如圖1所示。

    圖1 服務(wù)端客戶端相互調(diào)用

    SingalR 負(fù)責(zé)維護(hù)所有與服務(wù)端連接的客戶端,新加入的客戶端及退出的客戶端,SingalR 是可以自動(dòng)感知的,從而使得服務(wù)端的更新可以實(shí)時(shí)的推送到所有客戶端。SingalR 提供兩種永久鏈接及Hub兩種方式連接服務(wù)端及客戶端,永久鏈接提供PersistentConnection類供開(kāi)發(fā)人員以類似于WCF (windows communication foundation)的方式進(jìn)行相互方法調(diào)用,而Hub則提供更抽象的調(diào)用通道進(jìn)行雙向方法調(diào)用,使得服務(wù)端及客戶端都可以像調(diào)用本地方法一樣調(diào)用對(duì)方的方法,同時(shí)支持強(qiáng)類型的參數(shù)傳遞及模型綁定。服務(wù)端與客戶端的連接方式及傳輸協(xié)議如圖2所示。

    圖2 服務(wù)端與客戶端的連接方式及傳輸協(xié)議

    2 Web實(shí)時(shí)應(yīng)用程序框架

    Web實(shí)時(shí)應(yīng)用程序一般需要處理3種場(chǎng)景:①客戶端調(diào)用服務(wù)端方法獲取數(shù)據(jù)集合,并使用HTML 將數(shù)據(jù)集合在客戶端瀏覽器中展示,服務(wù)端方法不需要廣播調(diào)用其它連接的客戶端方法更新客戶端頁(yè)面,該場(chǎng)景用于一個(gè)新的客戶端連接到SingalR Hub時(shí)。②客戶端調(diào)用服務(wù)端方法更新應(yīng)用程序狀態(tài)、執(zhí)行業(yè)務(wù)邏輯等操作,導(dǎo)致應(yīng)用程序數(shù)據(jù)、狀態(tài)、業(yè)務(wù)規(guī)則發(fā)生變化,從而需要從服務(wù)端廣播調(diào)用所連接的客戶端方法,以反映這些改變,該場(chǎng)景用于用戶與客戶端頁(yè)面進(jìn)行交互,操作業(yè)務(wù)邏輯時(shí)。③服務(wù)端定時(shí)將數(shù)據(jù)更新發(fā)送到所連接的客戶端,需要從服務(wù)端廣播調(diào)用所連接的客戶端方法,從而反應(yīng)數(shù)據(jù)更新,該場(chǎng)景用戶服務(wù)端主動(dòng)推送數(shù)據(jù)到客戶端的情況,不需要客戶端主動(dòng)請(qǐng)求,如股票數(shù)據(jù)的實(shí)時(shí)變化、Web瀏覽器實(shí)時(shí)聊天等。本文提出的Web 實(shí)時(shí)應(yīng)用程序框架基于SingalR 的WebSocket傳輸協(xié)議及Hub連接方式,能滿足上述3種場(chǎng)景的功能需求。

    2.1 Web實(shí)時(shí)應(yīng)用程序框架設(shè)計(jì)

    當(dāng)客戶端瀏覽器向服務(wù)端實(shí)時(shí)應(yīng)用程序發(fā)出連接請(qǐng)求時(shí),SingalR在客戶端與服務(wù)端之間建立永久的連接,并使用WebSocket進(jìn)行雙工通訊。連接完成后,OWIN (open Web interface for.NET)的Startup.cs類負(fù)責(zé)啟動(dòng)服務(wù)端與客戶端之間SingalR Hub上下文路由,服務(wù)端與客戶端的雙向方法調(diào)用及結(jié)果返回通過(guò)SingalR Hub上下文完成[10]。

    客戶端調(diào)用服務(wù)端方法需要通過(guò)調(diào)用SingalR Hub類的實(shí)例方法,但SingalR Hub實(shí)例類只在客戶端連接到服務(wù)端時(shí),瞬間在服務(wù)端內(nèi)存中存在,所以處理上述3類場(chǎng)景的方法不能在SingalR Hub實(shí)例類中定義,而需要在單獨(dú)的業(yè)務(wù)邏輯類中定義,并且要求該業(yè)務(wù)邏輯類實(shí)例在應(yīng)用程序的生命周期中為唯一且靜態(tài)只讀的,以便每個(gè)SingalR Hub類實(shí)例可以訪問(wèn)該實(shí)例,從而調(diào)用其實(shí)例方法。為使得業(yè)務(wù)邏輯類實(shí)例可以通過(guò)SingalR Hub調(diào)用客戶端腳本方法,需要有當(dāng)前所有客戶端連接的實(shí)例引用,該實(shí)例引用可以通過(guò)GlobalHost.ConnectionManager.GetHubContext<T>().Clients得到,ConnectionManager負(fù)責(zé)動(dòng)態(tài)維護(hù)當(dāng)前的客戶端連接,即新的客戶端加入及存在的客戶端斷開(kāi)連接,ConnectionManager是可以動(dòng)態(tài)感知的,并返回反映當(dāng)前實(shí)際客戶端連接數(shù)量的Clients實(shí)例引用。唯一且靜態(tài)只讀的業(yè)務(wù)邏輯類實(shí)例由BizService類中的Instance屬性反映,BizServiceHub的_biz屬性在構(gòu)造函數(shù)中被賦值,從而獲得業(yè)務(wù)邏輯類實(shí)例引用。

    業(yè)務(wù)邏輯靜態(tài)類實(shí)例通過(guò)異步的方式訪問(wèn)數(shù)據(jù)、Web服務(wù)、WCF數(shù)據(jù)服務(wù)及其它數(shù)據(jù)源獲取原始或更新的數(shù)據(jù),提高了程序的性能及伸縮性。由于業(yè)務(wù)邏輯靜態(tài)類實(shí)例中的方法代碼有可能被多個(gè)線程訪問(wèn),故含寫操作的代碼均是以線程安全的方式實(shí)現(xiàn)的。Web實(shí)時(shí)應(yīng)用程序框架如圖3所示。

    圖3 Web實(shí)時(shí)應(yīng)用程序框架

    2.2 Web實(shí)時(shí)應(yīng)用程序框架實(shí)現(xiàn)

    Web實(shí)時(shí)應(yīng)用程序框架由OWIN Startup 類、BizService類、BizServiceHub 類 及 客 戶 端 的BizService.js 腳 本組成。

    2.2.1 OWIN Startup類

    OWIN (open Web interface for.NET)定 義 了.NET Web服務(wù)器與Web應(yīng)用程序之間的抽象接口。Web應(yīng)用程序開(kāi)發(fā)者可以利用OWIN 作為中間件將Web服務(wù)器與應(yīng)用程序分離,從而使得Web應(yīng)用程序可以以不同的方式作為其宿主發(fā)布,宿主可以是自宿主方式,IIS方式或Windows服務(wù)方式。OWIN 的另一個(gè)優(yōu)勢(shì)是,Web應(yīng)用程序不再依賴于某個(gè)具體版本的Framework,從而使得應(yīng)用程序和依賴組件之間的關(guān)系是可動(dòng)態(tài)組合的。

    OWIN 的Startup.cs類負(fù)責(zé)在客戶端及服務(wù)端之間注冊(cè)SingalR 中間件,該中間件負(fù)責(zé)定義客戶端連接服務(wù)端SingalR Hub上下文的路由。在應(yīng)用程序啟動(dòng)時(shí),通過(guò)調(diào)用OwinExtensions類的擴(kuò)展方法MapSignalR 方法實(shí)現(xiàn)。Startup.cs的定義如下所示。

    ?

    2.2.2 BizService類

    在服務(wù)端執(zhí)行讀取數(shù)據(jù)、改變應(yīng)用程序狀態(tài)、執(zhí)行業(yè)務(wù)邏輯及定時(shí)推送更新數(shù)據(jù)到客戶端的業(yè)務(wù)邏輯服務(wù)類BizService的定義如下所示。

    ?

    由于業(yè)務(wù)邏輯服務(wù)類中的代碼會(huì)被多個(gè)線程訪問(wèn),將應(yīng)用程序數(shù)據(jù)對(duì)象集合_data 定義為ConcurrentDictionary<string,Data>保證了數(shù)據(jù)集合對(duì)象的線程安全。執(zhí)行業(yè)務(wù)邏輯及改變應(yīng)用程序狀態(tài)的代碼段也需要是線程安全的,所以反映應(yīng)用程序當(dāng)前狀態(tài)的_state變量類型為volatile類型,ChangeAppState方法代碼段的第一行必須獲?。遳pdateStatelock對(duì)象鎖。由于應(yīng)用程序的數(shù)據(jù)源可能是關(guān)系數(shù)據(jù)庫(kù)、Web服務(wù)、WCF數(shù)據(jù)服務(wù)及其它數(shù)據(jù)源,所以獲取數(shù)據(jù)的getDatas方法應(yīng)是異步執(zhí)行的,以提高程序的性能。

    2.2.3 BizServiceHub類

    供客戶端進(jìn)行服務(wù)端方法調(diào)用的SingalR Hub上下文BizServiceHub類定義如下所示。

    ?

    2.2.4 BizService.js腳本

    執(zhí)行用戶界面交互事件、調(diào)用服務(wù)端方法及服務(wù)端廣播調(diào)用方法的客戶端腳本BizService.js定義如下所示??蛻?端 腳 本 需 引 用jquery-1.10.0.min.js,jquery.signalR-2.0.0.js以上版本腳本庫(kù)及系統(tǒng)動(dòng)態(tài)生成的signalr/hubs腳本庫(kù)。

    ?

    2.3 Web實(shí)時(shí)應(yīng)用程序場(chǎng)景執(zhí)行過(guò)程

    客戶端獲取初始數(shù)據(jù)的場(chǎng)景的執(zhí)行過(guò)程為:①得到服務(wù)端BizServicHub類在客戶端的代理對(duì)象biz。②客戶端連接到服務(wù)端的SingalR 上下文,并完成Hub連接初始化后,按biz.server.getAllDatas()格式調(diào)用服務(wù)端BizServicHub類的GetAllDatas方法,注意客戶端的方法名的第一個(gè)字符為小寫。③服務(wù)端的BizServicHub實(shí)例調(diào)用業(yè)務(wù)邏輯類實(shí)例的GetAllDatas方法返回?cái)?shù)據(jù)。④客戶端獲取數(shù)據(jù)集合,并調(diào)用DisplayData()方法顯示數(shù)據(jù)。

    客戶端執(zhí)行業(yè)務(wù)邏輯或改變應(yīng)用程序狀態(tài)的場(chǎng)景的執(zhí)行過(guò)程為:①客戶端連接到服務(wù)端的SingalR 上下文,并完成Hub連接初始化。②由客戶端觸發(fā)事件如Click,在事件中按biz.server.changeAppState (state)格 式 調(diào) 用 服 務(wù) 端BizServicHub類的ChangeAppState方法,并傳入?yún)?shù)。③服務(wù)端的BizServicHub 實(shí)例調(diào)用業(yè)務(wù)邏輯類實(shí)例的ChangeAppState方法執(zhí)行業(yè)務(wù)邏輯或改變應(yīng)用程序狀態(tài)。完成后,按Clients.All.changeAppStateClient(state)格式廣播調(diào)用所有客戶端的changeAppStateClient方法。④SingalR Hub上下文負(fù)責(zé)通知所有的連接客戶端執(zhí)行change-AppStateClient邏輯。

    服務(wù)端定時(shí)推送數(shù)據(jù)到客戶端場(chǎng)景的執(zhí)行過(guò)程為:①服務(wù)端業(yè)務(wù)邏輯類實(shí)例中的Timer組件根據(jù)updateInterval定義的時(shí)間間隔,定時(shí)調(diào)用UpdateDatas方法。②getData()通過(guò)異步調(diào)用從數(shù)據(jù)源獲取到更新的數(shù)據(jù)后,按Clients.All.updateDataClient(data)格式廣播調(diào)用所有客戶端的updateDataClient方法,并循環(huán)傳遞更新的數(shù)據(jù)對(duì)象。③SingalR Hub上下文負(fù)責(zé)通知所有的連接客戶端執(zhí)行updateDataClient邏輯。

    3 結(jié)束語(yǔ)

    HTML5帶來(lái)的本地存儲(chǔ)、WebSocket、圖形及多媒體應(yīng)用、支持多設(shè)備及跨平臺(tái)、自適應(yīng)頁(yè)面等技術(shù),正在深刻的改變傳統(tǒng)的Web應(yīng)用程序開(kāi)發(fā)的模式,WebSocket正在逐步取代Comet技術(shù),成為Web實(shí)時(shí)應(yīng)用程序開(kāi)發(fā)的主流技術(shù)。Web實(shí)時(shí)應(yīng)用程序的框架設(shè)計(jì)還需要考慮以下兩個(gè)問(wèn)題:客戶端的頻繁更新及服務(wù)端的資源爭(zhēng)用??蛻舳祟l繁更新問(wèn)題突出表現(xiàn)在Web實(shí)時(shí)多人對(duì)戰(zhàn)游戲中,在游戲過(guò)程中,多個(gè)用戶會(huì)頻繁的改變狀態(tài)及更新數(shù)據(jù),Web實(shí)時(shí)應(yīng)用程序的框架設(shè)計(jì)需要及時(shí)的將狀態(tài)和數(shù)據(jù)的變化在服務(wù)端處理后,再實(shí)時(shí)反饋到所有連接的客戶端。資源爭(zhēng)用表現(xiàn)在如何合理的調(diào)度服務(wù)端資源處理來(lái)自眾多客戶端的WebSocket連接、業(yè)務(wù)邏輯執(zhí)行、數(shù)據(jù)存儲(chǔ)及更新等請(qǐng)求。怎樣更好的處理這兩個(gè)問(wèn)題,將是后續(xù)研究的重點(diǎn)方向。

    [1]Yan Zhangling,Dai Mao.A real-time group communication architecture based on WebSocket [J].International Journal of Computer and Communication Engineering,2012,2 (1):408-411.

    [2]Panagiotakis S,Kapetanakis K.Architecture for real time communications over the Web [J].International Journal of Web Engineering,2013,2 (1):1-8.

    [3]Ma Kun,Sun Runyuan.Introducing WebSocket-based realtime monitoring system for remote intelligent buildings [J].International Journal of Distributed Sensor Networks,2013:1-10.

    [4]JASRI,Kouto,Sayo-cho Hyogo.Web-based control application using WebSocket [C]//Proceedings of ICALEPCS,2011:673-675.

    [5]ZHANG Yanzhao,CHEN Shaohong.Real time control system based on smart phone platform [J].Computer Applications and Software,2013,30 (7):236-239 (in Chinese). [張 延召,陳少紅.基于智能手機(jī)平臺(tái)的實(shí)時(shí)控制系統(tǒng) [J].計(jì)算機(jī)應(yīng)用與軟件,2013,30 (7):236-239.]

    [6]WU Xiaodong,WANG Peng.Research on communication mechanism and efficiency of Html5 [J].Journal of Changchun University of Science and Technology (Natural Science Edition),2011,34 (4):159-163 (in Chinese). [吳曉東,王鵬.Html5的通信機(jī)制及效率的研究 [J].長(zhǎng)春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34 (4):159-163.]

    [7]Nikolai Qveander.Pushing real time data using HTML5 Web Sockets [D].Sweden:UMEA University Department of Computing Science,2011.

    [8]Pavel Smolka.Real-time communication in web browser[D].Czech Republic:MASARYK University Faculty of Informatics,2013.

    [9]Patrick Fletcher.Introduction to SignalR [EB/OL].[2014-06-10].http://www.asp.net/signalr/overview/signalr-20/gettingstarted-with-signalr-20/introduction-to-signalr.

    [10]Howard Dierking.An overview of project katana [EB/OL].[2013-08-30].http://www.asp.net/aspnet/overview/owinand-katana/an-overview-of-project-katana.

    猜你喜歡
    方法
    中醫(yī)特有的急救方法
    中老年保健(2021年9期)2021-08-24 03:52:04
    高中數(shù)學(xué)教學(xué)改革的方法
    化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
    變快的方法
    兒童繪本(2020年5期)2020-04-07 17:46:30
    學(xué)習(xí)方法
    可能是方法不對(duì)
    用對(duì)方法才能瘦
    Coco薇(2016年2期)2016-03-22 02:42:52
    最有效的簡(jiǎn)單方法
    山東青年(2016年1期)2016-02-28 14:25:23
    四大方法 教你不再“坐以待病”!
    Coco薇(2015年1期)2015-08-13 02:47:34
    賺錢方法
    俄罗斯特黄特色一大片| 内地一区二区视频在线| 中国美白少妇内射xxxbb| 一夜夜www| 久久久午夜欧美精品| 亚洲在线自拍视频| 在线观看午夜福利视频| 国产精品一区二区三区四区久久| 人妻制服诱惑在线中文字幕| 人妻少妇偷人精品九色| 久久精品综合一区二区三区| 国产精品无大码| 精品一区二区三区视频在线观看免费| 亚洲va在线va天堂va国产| 欧美人与善性xxx| 一个人观看的视频www高清免费观看| 亚洲精品成人久久久久久| 日本一本二区三区精品| 蜜桃久久精品国产亚洲av| 久久99热6这里只有精品| 国产精品久久视频播放| 欧美激情在线99| 黑人高潮一二区| 人人妻,人人澡人人爽秒播| 一级黄色大片毛片| 在线播放无遮挡| 亚洲在线自拍视频| 九九爱精品视频在线观看| 99久国产av精品国产电影| 一边摸一边抽搐一进一小说| 国产精品三级大全| 淫秽高清视频在线观看| 色综合站精品国产| 天堂√8在线中文| 五月玫瑰六月丁香| 悠悠久久av| 日本黄大片高清| 国语自产精品视频在线第100页| 婷婷精品国产亚洲av| av天堂在线播放| 日韩欧美 国产精品| 精品熟女少妇av免费看| 在线国产一区二区在线| 国内精品久久久久精免费| 亚洲av电影不卡..在线观看| 久久韩国三级中文字幕| 精品午夜福利在线看| 人人妻,人人澡人人爽秒播| 国产毛片a区久久久久| 麻豆一二三区av精品| 国产精品久久电影中文字幕| 综合色丁香网| 国产一区二区在线观看日韩| 成人一区二区视频在线观看| 少妇人妻精品综合一区二区 | 亚洲精品粉嫩美女一区| 国产精品综合久久久久久久免费| 99久久成人亚洲精品观看| 久久精品人妻少妇| 成年av动漫网址| 国产一区二区三区在线臀色熟女| 神马国产精品三级电影在线观看| 欧美日本视频| 久久久久久久久久久丰满| 男人的好看免费观看在线视频| 久久婷婷人人爽人人干人人爱| 久久鲁丝午夜福利片| 老司机影院成人| 欧美激情在线99| 中文字幕熟女人妻在线| 波多野结衣高清作品| 搡女人真爽免费视频火全软件 | 久久午夜福利片| 久久久久久久久久黄片| 欧美一区二区精品小视频在线| 日日摸夜夜添夜夜添小说| 99久国产av精品国产电影| 国产高清视频在线观看网站| 身体一侧抽搐| 欧美绝顶高潮抽搐喷水| 久久精品国产鲁丝片午夜精品| 欧美日韩乱码在线| 国产精品乱码一区二三区的特点| 国内久久婷婷六月综合欲色啪| 亚洲欧美清纯卡通| 国产精品,欧美在线| av天堂在线播放| 国产女主播在线喷水免费视频网站 | 亚洲美女黄片视频| 精品国内亚洲2022精品成人| 热99re8久久精品国产| 美女内射精品一级片tv| 国产男人的电影天堂91| 亚洲乱码一区二区免费版| 白带黄色成豆腐渣| 国产乱人偷精品视频| 久久久久九九精品影院| 97在线视频观看| 国内揄拍国产精品人妻在线| 欧美日韩一区二区视频在线观看视频在线 | 成年女人毛片免费观看观看9| 亚洲七黄色美女视频| 久久久久久久久大av| 午夜福利在线观看免费完整高清在 | 精品日产1卡2卡| 国内揄拍国产精品人妻在线| 成年女人看的毛片在线观看| 18+在线观看网站| 成年av动漫网址| 热99re8久久精品国产| 99久国产av精品国产电影| 免费人成视频x8x8入口观看| 国产一区二区在线av高清观看| 欧美+亚洲+日韩+国产| 一个人看的www免费观看视频| 中文字幕av在线有码专区| 欧美另类亚洲清纯唯美| 久久人人爽人人片av| 国产亚洲av嫩草精品影院| 成人特级av手机在线观看| 日本免费一区二区三区高清不卡| 联通29元200g的流量卡| 色吧在线观看| 精品国产三级普通话版| 久久久午夜欧美精品| 久久久久久九九精品二区国产| 国产黄片美女视频| 欧美高清成人免费视频www| 桃色一区二区三区在线观看| 久久6这里有精品| 精品久久久久久久久av| 国产 一区精品| 91午夜精品亚洲一区二区三区| 国内精品一区二区在线观看| 欧美高清成人免费视频www| 又黄又爽又刺激的免费视频.| 女人被狂操c到高潮| 国产av一区在线观看免费| 国产精品人妻久久久久久| av在线亚洲专区| 波野结衣二区三区在线| 99视频精品全部免费 在线| 国产精品亚洲一级av第二区| 精品熟女少妇av免费看| 一区二区三区高清视频在线| 亚洲专区国产一区二区| 国产在线男女| 国产91av在线免费观看| 国内精品宾馆在线| 美女xxoo啪啪120秒动态图| 97碰自拍视频| 特大巨黑吊av在线直播| 99在线人妻在线中文字幕| 自拍偷自拍亚洲精品老妇| 1000部很黄的大片| .国产精品久久| 日韩欧美在线乱码| 免费一级毛片在线播放高清视频| 国产精品一区二区免费欧美| 别揉我奶头 嗯啊视频| 桃色一区二区三区在线观看| 午夜激情欧美在线| 国产中年淑女户外野战色| 1024手机看黄色片| 一区二区三区免费毛片| 免费大片18禁| 国国产精品蜜臀av免费| 久久国产乱子免费精品| 欧美日韩一区二区视频在线观看视频在线 | 天堂网av新在线| 最新在线观看一区二区三区| 欧美国产日韩亚洲一区| 久久久久精品国产欧美久久久| 午夜久久久久精精品| 欧美极品一区二区三区四区| 啦啦啦啦在线视频资源| 亚洲国产精品成人综合色| 久久精品影院6| 国产伦精品一区二区三区视频9| 菩萨蛮人人尽说江南好唐韦庄 | 中文在线观看免费www的网站| 国产亚洲欧美98| 精品一区二区三区视频在线| 麻豆精品久久久久久蜜桃| 精品久久久久久成人av| 老师上课跳d突然被开到最大视频| 日韩大尺度精品在线看网址| 日本三级黄在线观看| 淫妇啪啪啪对白视频| 性欧美人与动物交配| 在线播放国产精品三级| 国产在线男女| 欧美绝顶高潮抽搐喷水| 日本-黄色视频高清免费观看| 午夜福利高清视频| 国产精品久久久久久精品电影| 丰满人妻一区二区三区视频av| 精品久久久久久久久久免费视频| 日韩欧美免费精品| 天堂动漫精品| av视频在线观看入口| 十八禁网站免费在线| 亚洲av一区综合| 亚洲av成人av| 亚洲精品日韩在线中文字幕 | 大型黄色视频在线免费观看| 久久精品夜色国产| 麻豆成人午夜福利视频| 成年女人毛片免费观看观看9| 乱码一卡2卡4卡精品| 国产综合懂色| 天堂网av新在线| 欧美日本视频| 九九在线视频观看精品| 久久精品国产清高在天天线| 精品一区二区三区人妻视频| 无遮挡黄片免费观看| 超碰av人人做人人爽久久| 亚洲成a人片在线一区二区| 日韩一区二区视频免费看| 国产成人精品久久久久久| 日韩欧美一区二区三区在线观看| 免费人成视频x8x8入口观看| 成熟少妇高潮喷水视频| 又黄又爽又免费观看的视频| 午夜福利在线在线| 男女之事视频高清在线观看| 成年免费大片在线观看| 国产精品99久久久久久久久| 国产精品日韩av在线免费观看| 精品99又大又爽又粗少妇毛片| 99久久久亚洲精品蜜臀av| 少妇猛男粗大的猛烈进出视频 | 在线观看66精品国产| 最近视频中文字幕2019在线8| 久久久a久久爽久久v久久| 精品人妻视频免费看| 99在线视频只有这里精品首页| 日韩精品中文字幕看吧| 久久精品综合一区二区三区| 秋霞在线观看毛片| 日韩,欧美,国产一区二区三区 | 欧美日韩综合久久久久久| 亚洲欧美日韩无卡精品| 精品久久久久久久久av| 亚洲精品粉嫩美女一区| 亚洲成人中文字幕在线播放| 色哟哟·www| 91久久精品国产一区二区成人| 免费在线观看成人毛片| 久久久欧美国产精品| 此物有八面人人有两片| 精品久久久久久久久av| 一级黄片播放器| 亚洲国产日韩欧美精品在线观看| 欧美又色又爽又黄视频| 久久久精品94久久精品| 欧美色欧美亚洲另类二区| 亚洲性久久影院| 村上凉子中文字幕在线| 日韩强制内射视频| 少妇熟女欧美另类| 亚洲国产日韩欧美精品在线观看| 久久久久精品国产欧美久久久| 国产毛片a区久久久久| 国产爱豆传媒在线观看| 天堂动漫精品| 在线看三级毛片| 在线国产一区二区在线| 3wmmmm亚洲av在线观看| 男女视频在线观看网站免费| 国产精品久久电影中文字幕| 精品不卡国产一区二区三区| 久久中文看片网| 老司机影院成人| 亚洲人成网站在线观看播放| 国产三级在线视频| 嫩草影院入口| 淫妇啪啪啪对白视频| 国产三级中文精品| or卡值多少钱| 蜜桃亚洲精品一区二区三区| 日韩精品中文字幕看吧| 日韩制服骚丝袜av| 久久久国产成人免费| 尾随美女入室| 搡女人真爽免费视频火全软件 | 可以在线观看的亚洲视频| 啦啦啦韩国在线观看视频| 国产爱豆传媒在线观看| 床上黄色一级片| 午夜激情欧美在线| 久久久欧美国产精品| 亚洲欧美精品自产自拍| 国产成人91sexporn| 日本一二三区视频观看| 国内精品久久久久精免费| 你懂的网址亚洲精品在线观看 | 欧美成人精品欧美一级黄| 国产成人freesex在线 | 欧美在线一区亚洲| 麻豆av噜噜一区二区三区| 国产精品不卡视频一区二区| 亚洲成人久久性| 精品午夜福利在线看| 亚洲欧美日韩高清专用| 波多野结衣巨乳人妻| 日韩精品青青久久久久久| 国产av不卡久久| 亚洲高清免费不卡视频| 亚洲av不卡在线观看| 内射极品少妇av片p| 精华霜和精华液先用哪个| 男女视频在线观看网站免费| 乱码一卡2卡4卡精品| 亚洲中文字幕日韩| 波多野结衣高清作品| 久久久国产成人免费| 国产亚洲精品综合一区在线观看| 欧美三级亚洲精品| 国产av不卡久久| 最近手机中文字幕大全| 国产久久久一区二区三区| 一本久久中文字幕| 欧美中文日本在线观看视频| 亚洲最大成人中文| 午夜福利18| 日韩欧美免费精品| 欧美中文日本在线观看视频| 色5月婷婷丁香| 22中文网久久字幕| 亚洲内射少妇av| 男人和女人高潮做爰伦理| 亚洲在线观看片| 国产精品久久久久久久电影| 香蕉av资源在线| 禁无遮挡网站| 亚洲欧美日韩高清在线视频| 亚洲色图av天堂| 少妇被粗大猛烈的视频| 狠狠狠狠99中文字幕| 欧美xxxx性猛交bbbb| 青春草视频在线免费观看| 一区二区三区高清视频在线| 亚洲美女视频黄频| 久久午夜福利片| 一本精品99久久精品77| 国产精品一区二区性色av| 久久久久久国产a免费观看| 午夜激情福利司机影院| 人人妻人人看人人澡| 村上凉子中文字幕在线| 日韩强制内射视频| 国产精品美女特级片免费视频播放器| av专区在线播放| 精品人妻偷拍中文字幕| 露出奶头的视频| 51国产日韩欧美| 亚洲欧美日韩高清在线视频| 亚洲精品日韩在线中文字幕 | 2021天堂中文幕一二区在线观| 欧美一区二区国产精品久久精品| 热99re8久久精品国产| 两性午夜刺激爽爽歪歪视频在线观看| 2021天堂中文幕一二区在线观| 18禁在线播放成人免费| 免费看日本二区| 国产精品99久久久久久久久| 五月玫瑰六月丁香| 三级毛片av免费| 亚洲性久久影院| 久久精品国产自在天天线| 91久久精品国产一区二区成人| 精品人妻一区二区三区麻豆 | 少妇丰满av| 亚洲aⅴ乱码一区二区在线播放| 精品午夜福利视频在线观看一区| 久久久久免费精品人妻一区二区| 婷婷精品国产亚洲av在线| 我要搜黄色片| 精品久久久久久久久久久久久| 亚洲国产高清在线一区二区三| 成年女人永久免费观看视频| 久久人人爽人人片av| 天天一区二区日本电影三级| avwww免费| 亚洲四区av| 成人综合一区亚洲| 成人毛片a级毛片在线播放| 91久久精品国产一区二区三区| 国产真实乱freesex| 美女被艹到高潮喷水动态| 亚洲激情五月婷婷啪啪| 午夜亚洲福利在线播放| 国产色爽女视频免费观看| 日日啪夜夜撸| 色播亚洲综合网| 日本一本二区三区精品| 国产三级中文精品| av视频在线观看入口| 丝袜喷水一区| 国产高潮美女av| 深爱激情五月婷婷| 人妻久久中文字幕网| 国产高清不卡午夜福利| 国产一区二区亚洲精品在线观看| 99热这里只有是精品在线观看| 不卡视频在线观看欧美| 99热只有精品国产| 亚洲精品456在线播放app| 日韩一本色道免费dvd| 久久天躁狠狠躁夜夜2o2o| 欧美潮喷喷水| 人人妻人人看人人澡| 搡老岳熟女国产| 欧美成人一区二区免费高清观看| 日韩精品中文字幕看吧| 哪里可以看免费的av片| 欧美另类亚洲清纯唯美| 国产精品久久久久久亚洲av鲁大| 亚洲国产色片| 永久网站在线| 一本久久中文字幕| 又黄又爽又免费观看的视频| 深爱激情五月婷婷| 日日摸夜夜添夜夜添小说| 国产精品国产三级国产av玫瑰| 在线播放国产精品三级| 99久久精品热视频| 亚洲国产精品国产精品| 成人国产麻豆网| 精品99又大又爽又粗少妇毛片| 18禁黄网站禁片免费观看直播| 免费看日本二区| www日本黄色视频网| 晚上一个人看的免费电影| 97人妻精品一区二区三区麻豆| 麻豆精品久久久久久蜜桃| 国产乱人视频| 最近2019中文字幕mv第一页| 国产老妇女一区| 欧美xxxx黑人xx丫x性爽| 久久久久久久久久成人| 搡女人真爽免费视频火全软件 | 日本与韩国留学比较| 69av精品久久久久久| 亚洲第一电影网av| 久久热精品热| 午夜福利在线观看吧| 99热这里只有是精品50| 国产午夜精品论理片| 插逼视频在线观看| 综合色丁香网| 欧美一级a爱片免费观看看| 欧美日韩精品成人综合77777| 最近2019中文字幕mv第一页| 看免费成人av毛片| 精品久久久久久久久av| 内地一区二区视频在线| 又粗又爽又猛毛片免费看| 最后的刺客免费高清国语| 熟妇人妻久久中文字幕3abv| 国产欧美日韩精品亚洲av| 一卡2卡三卡四卡精品乱码亚洲| 久久热精品热| 一边摸一边抽搐一进一小说| 天堂av国产一区二区熟女人妻| 婷婷六月久久综合丁香| 国产亚洲欧美98| 免费观看在线日韩| а√天堂www在线а√下载| 午夜精品一区二区三区免费看| av国产免费在线观看| 国产人妻一区二区三区在| 精品福利观看| 淫秽高清视频在线观看| 观看免费一级毛片| 国内揄拍国产精品人妻在线| 日本黄色片子视频| ponron亚洲| 亚洲最大成人手机在线| 亚洲av五月六月丁香网| 久久久久久久午夜电影| 国产又黄又爽又无遮挡在线| 国产不卡一卡二| 韩国av在线不卡| 久久精品91蜜桃| 嫩草影院入口| 欧美日本视频| 国产国拍精品亚洲av在线观看| 一卡2卡三卡四卡精品乱码亚洲| 日韩av不卡免费在线播放| 国产亚洲精品久久久com| 免费无遮挡裸体视频| 黄色视频,在线免费观看| 老女人水多毛片| 一区福利在线观看| 一级av片app| 国产三级中文精品| 国产精品美女特级片免费视频播放器| 精品一区二区三区人妻视频| 亚洲av第一区精品v没综合| 少妇的逼水好多| 在线免费观看的www视频| 国产精品久久电影中文字幕| 精品人妻视频免费看| 一级黄片播放器| 日本黄大片高清| 日韩欧美精品免费久久| 亚洲经典国产精华液单| 69人妻影院| 欧美日本视频| 国产国拍精品亚洲av在线观看| 国产精品永久免费网站| 国产精品无大码| 夜夜夜夜夜久久久久| 女同久久另类99精品国产91| 嫩草影院新地址| 97超碰精品成人国产| 亚洲国产欧洲综合997久久,| 亚洲欧美精品综合久久99| 人人妻,人人澡人人爽秒播| 日韩欧美精品免费久久| 久久久久久久久久成人| 国产一区二区在线av高清观看| 久久久久久久亚洲中文字幕| 黄片wwwwww| 色视频www国产| 国产免费一级a男人的天堂| 嫩草影院新地址| 午夜免费男女啪啪视频观看 | 少妇熟女欧美另类| 日本免费一区二区三区高清不卡| 俺也久久电影网| 亚洲精品一卡2卡三卡4卡5卡| 欧美性感艳星| 麻豆一二三区av精品| 国产亚洲91精品色在线| 日本一本二区三区精品| 草草在线视频免费看| 欧美成人精品欧美一级黄| 婷婷精品国产亚洲av在线| 久99久视频精品免费| 我的老师免费观看完整版| 久久久久九九精品影院| .国产精品久久| 搡老妇女老女人老熟妇| 亚洲经典国产精华液单| 国产午夜福利久久久久久| 美女xxoo啪啪120秒动态图| 天堂av国产一区二区熟女人妻| 免费不卡的大黄色大毛片视频在线观看 | av国产免费在线观看| 色av中文字幕| 一进一出好大好爽视频| 真实男女啪啪啪动态图| 99久久中文字幕三级久久日本| 老师上课跳d突然被开到最大视频| 丰满人妻一区二区三区视频av| 午夜久久久久精精品| 99久久中文字幕三级久久日本| av黄色大香蕉| 成人国产麻豆网| 在线播放国产精品三级| 久久久久久久久大av| 啦啦啦观看免费观看视频高清| 亚洲精品国产成人久久av| 欧美人与善性xxx| 少妇裸体淫交视频免费看高清| 两性午夜刺激爽爽歪歪视频在线观看| 精品免费久久久久久久清纯| 人妻制服诱惑在线中文字幕| 免费搜索国产男女视频| 国语自产精品视频在线第100页| 18禁在线无遮挡免费观看视频 | 日韩欧美免费精品| 久久鲁丝午夜福利片| 深爱激情五月婷婷| 国产午夜精品论理片| 一级毛片久久久久久久久女| 天天一区二区日本电影三级| 亚洲欧美日韩卡通动漫| 少妇高潮的动态图| 亚洲国产精品成人综合色| 亚洲av五月六月丁香网| 日韩高清综合在线| 国产乱人视频| 如何舔出高潮| 高清日韩中文字幕在线| 成人综合一区亚洲| a级毛片免费高清观看在线播放| 搞女人的毛片| 一边摸一边抽搐一进一小说| 两个人的视频大全免费| 少妇人妻精品综合一区二区 | 成人亚洲欧美一区二区av| 亚洲最大成人手机在线| 欧美又色又爽又黄视频| 色av中文字幕| 亚洲av美国av| 国产精品不卡视频一区二区| 卡戴珊不雅视频在线播放| 成人亚洲欧美一区二区av| 久久九九热精品免费| 天天躁夜夜躁狠狠久久av| 国产日本99.免费观看| 日韩欧美精品v在线| 99热这里只有精品一区| 日韩制服骚丝袜av| 真实男女啪啪啪动态图| 精品久久久久久久久av| 少妇的逼水好多| 岛国在线免费视频观看| 国语自产精品视频在线第100页| 男人和女人高潮做爰伦理|