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

    基于Spring4+HTML5的實時監(jiān)控應用通信與顯示處理

    2015-02-13 07:39:40丁振凡
    吉首大學學報(自然科學版) 2015年4期
    關(guān)鍵詞:瀏覽器生產(chǎn)線繪制

    丁振凡

    (華東交通大學信息工程學院,江西 南昌 330013)

    ?

    基于Spring4+HTML5的實時監(jiān)控應用通信與顯示處理

    丁振凡

    (華東交通大學信息工程學院,江西 南昌 330013)

    針對某企業(yè)生產(chǎn)線遠程數(shù)據(jù)監(jiān)測應用中消息推送與顯示處理的問題,提出基于Sping4+HTML5的實現(xiàn)方案.采用WebSocket技術(shù)實現(xiàn)瀏覽器與Web服務器的雙向消息通信.研究了Spring的WebSocket服務配置和實現(xiàn)消息推送的處理流程,描述了客戶方與服務方如何建立SockJS連接,以及實現(xiàn)基于STOMP的消息發(fā)布/訂閱處理的具體方法.將消息推送封裝為REST風格的Web服務,方便調(diào)用者發(fā)布消息.系統(tǒng)采用HTML5的Canvas實現(xiàn)數(shù)據(jù)的實時顯示處理,可在同一畫面中顯示各種顏色的曲線.Sping4+HTML5方案具有配置簡單、應用靈活、運行效率高等特點,在實際應用中取得了很好的效果.

    HTML5;Spring4;WebSocket;Canvas;實時監(jiān)控;SockJS

    隨著Web應用的不斷深入,在Web界面中實時應用的顯示處理一直是研究人員關(guān)注的問題,最大的難點是實時數(shù)據(jù)以何種方式送瀏覽器顯示的問題.由HTTP協(xié)議的特點,瀏覽器與Web服務器之間的連接不能持久保持,瀏覽器與Web服務器的通信是基于請求/響應的方式.為了持續(xù)獲取來自生產(chǎn)線的數(shù)據(jù),最早是頁面定時刷新的方法,后來出現(xiàn)了基于AJAX的定時輪詢方式,這種拉方式效率不高,最大問題是客戶端請求的頻率與服務器端數(shù)據(jù)更新頻率通常會不一致,從而造成網(wǎng)絡流量浪費.理想的方法是采用推方式,由服務器將數(shù)據(jù)推送到瀏覽器顯示,但推方式在技術(shù)處理上一直不盡人意,例如采用JAVA applet通信,現(xiàn)在瀏覽器普遍不支持Applet技術(shù).HTML5的出現(xiàn)為實時應用的通信、顯示處理提供了很好的支撐.HTML5 WebSocket 規(guī)范定義了WebSocket API,支持頁面使用WebSocket 協(xié)議與遠程主機進行全雙工的通信[1].基于WebSocket的通信,可通過消息訂閱的推送方式獲取數(shù)據(jù),實現(xiàn)更為高效的數(shù)據(jù)傳輸.WebSocket通過HTTP的子協(xié)議來實現(xiàn)消息的傳送,STOMP是典型采用的簡單消息傳送協(xié)議.WebSocket目前已經(jīng)得到IE9,F(xiàn)irefox4,Chrome4 等瀏覽器,以及Jetty7和Tomcat8等服務器的支持.HTML5的Canvas提供的豐富圖形功能可支持瀏覽器上圖形顯示編程處理.在智能手機平臺也可利用WebSocket結(jié)合HTML5實現(xiàn)實時監(jiān)控[2].

    Spring是一種輕量級的開源框架,它具有支持Bean屬性的依賴注入、支持面向切面編程等眾多特點.Spring Web編程提供了基于REST風格的MVC模式,可方便編寫基于REST風格的Web服務.Spring MVC將Web應用程序抽象為模型、視圖和控制器3個部分.通過DispatcherServlet這個特殊的控制器處理用戶的請求,該控制器在處理HTTP請求時根據(jù)Mapping信息查找對應的控制器,實現(xiàn)控制分派[3].2013年底正式推出的Spring4中增加了對WebSocket的支持,并支持STOMP,通過開啟SockJS的服務,同時提供相應的URL映射,就可支持基于WebSocket的消息通信.

    1 生產(chǎn)線實時監(jiān)控系統(tǒng)設計

    應用系統(tǒng)是用瀏覽器顯示2條生產(chǎn)線上設備的實時狀態(tài)信息.系統(tǒng)架構(gòu)如圖1所示.

    圖1 生產(chǎn)線實時監(jiān)控系統(tǒng)的架構(gòu)

    通過PLC組件獲取生產(chǎn)線上各種設備的工作狀態(tài)參數(shù)(如溫度、壓力變化),并通過其通信模塊與Web服務器的串口通信.每個串口與1條PLC組件的通信模塊進行連接.服務器方的串口通信模塊采用Java的comm組件編程[4].串口在收到消息后,經(jīng)過分析處理,再調(diào)用Spring MVC實現(xiàn)的REST風格的Web服務將消息借助WebSocket通道推送到瀏覽器顯示.服務端的消息代理(Message Broker)實現(xiàn)與瀏覽器之間的基于發(fā)布/訂閱的消息通信.

    2 服務方WebSocket編程處理

    系統(tǒng)采用Maven工程設計,為支持WebSocket,需要添加Spring-messaging,Spring-WebSocket,Jackson-databind等依賴.Spring的配置可通過注解或XML方式定義[3].采用注解方式配置Spring的控制器和WebSocket.系統(tǒng)中面向消息的WebSocket應用與HTTP應用并存,作為一個Web應用項目,要進行Servlet的配置,在Servlet的配置中加入如下2行,表示支持注解方式定義配置及指定查找配置程序的包路徑信息:

    .

    2.1 Spring 的WebSocket配置

    以下注解配置指定采用基于內(nèi)存的簡單消息代理.其中:“/topic”是簡單代理的端點,所有發(fā)送給客戶端的消息要以“/topic”為前綴;“/app”是瀏覽器請求編碼的前綴,所有由客戶發(fā)送給消息代理的消息要以“/app”為前綴;“/monitor”是websocket連接端點,客戶與服務器建立WebSocket連接時通過“/wxm/monitor”,wxm為Web應用路徑名.

    @Configuration

    @EnableWebSocketMessageBroker

    public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer{

    public void configureMessageBroker(MessageBrokerRegistry config){

    config.enableSimpleBroker("/topic");

    config.setApplicationDestinationPrefixes("/app");

    }

    public void registerStompEndpoints(StompEndpointRegistry r){

    r.addEndpoint("/monitor").withSockJS();

    }

    }

    根據(jù)需要還可以將ActiveMQ和RabbitMQ等消息隊列代理與WebSocket進行捆綁,用消息代理作為中繼,這樣可利用RabbitMQ的Web監(jiān)控功能監(jiān)控應用的消息收發(fā)狀況,同時也方便基于消息的應用集成處理.在配置代碼中只需作如下改動:

    config.enableStompBrokerRelay("/topic").

    2.2 WebSocket通信與Spring MVC的整合

    在控制器的配置中,允許2類Mapping并存,一種是@RequestMapping,接收來自瀏覽器的HTTP請求,注解參數(shù)為REST風格的路徑信息;另一種是@MessageMapping,接收來自瀏覽器發(fā)送的WebSocket消息.在Spring中,用REST風格的路徑標識來表示消息目標,該目標對應消息隊列中的主題.@MessageMapping的注解參數(shù)代表消息源的目標,通過其注解方法參數(shù)傳遞消息對應的Java對象.Spring的WebSocket和SockJS并不依賴Spring MVC,它是通過SockJSHTTPRequestHandler將WebSocket支持集成到HTTP服務環(huán)境.

    在以下控制器定義中列出了2個方法:(1)方法line1用于將生產(chǎn)線1的消息進行推送,來自請求參數(shù)message的消息是實體類ProduceLine中數(shù)據(jù)對象的Json表示的串,ProduceLine類中封裝有代表生產(chǎn)線的各種參數(shù)數(shù)據(jù).應用中采用Google公司Gson類實現(xiàn)對Java對象的Json串行化處理,以方便Java對象的傳遞.借助自動依賴注入得到的SimpMessagingTemplate對象,用其convertAndSend方法可發(fā)送消息給“/topic/line1”主題.(2)方法curve用于進入顯示生產(chǎn)線的參數(shù)變化曲線的頁面.

    @Controller

    public class MvcController{

    @Autowired private SimpMessagingTemplate template;

    @RequestMapping("/info/line1*")

    @ResponseBody

    public String line1(@RequestParam("message") String message){

    GsonJson=new Gson();

    ProduceLine me=json.fromJson(message,ProduceLine.class); ∥由Json串得到Java對象

    template.convertAndSend("/topic/line1",me); ∥發(fā)布消息給/topic/line1主題

    return "message send ";

    }

    @RequestMapping("/curve*") ∥監(jiān)視生產(chǎn)線參數(shù)頁面

    public String curve(@RequestParam("line") String line,Model m){

    m.addAttribute("line",line); ∥生產(chǎn)線編號

    return "curveinfo"; ∥用curveinfo.jsp視圖顯示

    }

    }

    圖2 應用的消息通信處理流程

    通過定義REST風格的Web服務對消息發(fā)送進行封裝,可以在任何需要的地方調(diào)用該服務進行消息的發(fā)送.圖2給出了應用的消息通信處理流程.

    利用Spring的RestTemplate可調(diào)用上面方法line1對應的REST風格的Web服務[3],應用中只要調(diào)用以下定義的sendProduceLine方法就可將生產(chǎn)線數(shù)據(jù)推送給客戶:

    public static void sendProduceLine(ProduceLine data){

    RestTemplate template=new RestTemplate();

    GsonJson=new Gson();

    String msg=Json.toJson(data);∥Java對象轉(zhuǎn)Json串

    template.getForObject("http:∥localhost:8080/wxm/info/line1?message={message}",String.class,new Object[]{msg});

    }

    Spring的WebSocket也可接收客戶方發(fā)送的消息并轉(zhuǎn)發(fā)該消息.對于控制器定義的帶@MessageMapping注解的方法,可用@SendTo注解加在方法頭前,表示將方法的結(jié)果作為消息負載發(fā)送給指定主題的訂閱者.例如,以下Mapping方法,服務端收到客戶瀏覽器發(fā)送給目標“app/hello”的消息后,將在消息前增加“hello:”,再轉(zhuǎn)發(fā)給“/topic/welcome”的訂閱者,這種方式可用于實時聊天等應用:

    @MessageMapping("/hello")

    @SendTo("/topic/welcome")

    public String welcome(String message) throws Exception{

    return new String("Hello:"+message+"!");

    }

    3 客戶端WebSocket通信處理

    為了支持基于SockJS的Stomp消息通信,客戶方要用到“sockjs-0.3.4.js”和“stomp.js”這2個js文件.客戶方通過執(zhí)行以下Javascript腳本可建立與服務器的WebSocket連接,在Stomp通信中,使用最多的命令是發(fā)送消息命令send和訂閱消息命令subscribe:

    var Socket=new SockJS(′/wxm/monitor′);

    stompClient=Stomp.over(Socket);

    stompClient.connect({},

    function(frame){

    stompClient.subscribe(′/topic/line${line}′,

    function(produceLine){

    obj= Json.parse(produceLine.body); ∥取得封裝在消息中的Java對象

    drawCurve(1,1,1,obj.temperature1); ∥繪制溫度曲線

    });

    }

    注意,客戶方在指定連接的WebSocket端點(endpoint)時要加上Web應用名,這里為“wxm/monitor”.連接成功后將執(zhí)行function(frame)方法,進而通過調(diào)用StompClient對象的subscribe方法訂閱主題為“/topic/line${line}”的消息,這里,${line}是來自MVC模型的代表生產(chǎn)線編號的數(shù)據(jù),其值為1或2.消息broker在收到主題對應的消息時將發(fā)送給瀏覽器,function(produceLine)是消息到達時觸發(fā)執(zhí)行的消息處理函數(shù),它將通過Json.parse方法對消息體進行分析,提取設備的溫度值,調(diào)用drawCurve方法繪制出溫度實時變化曲線.

    需要說明的是,這里為清晰起見,將所有主題描述均加上了“/topic”前綴.若用ActiveMQ作為代理中繼,則可在ActiveMQ的監(jiān)控頁面看到主題名稱僅為“/topic”之后的部分(如line1).由于“/topic”是代理的端點,因此實際發(fā)送消息給主題時必須以“/topic”為前綴.

    瀏覽器與服務器間這種基于發(fā)布/訂閱的消息推送機制是一種高效靈活的數(shù)據(jù)傳遞方式.來自生產(chǎn)線的數(shù)據(jù)不僅可以同時提供給不同瀏覽器的訂閱者,同一個頁面中也可以通過訂閱不同的主題獲取來自不同發(fā)布者的數(shù)據(jù)(如應用系統(tǒng)中就有一個頁面要同時顯示來自2條生產(chǎn)線的數(shù)據(jù)).訂閱者只需進行1次訂閱就可不斷接收數(shù)據(jù),數(shù)據(jù)的推送頻率由提供者決定,消息通信效率很高,避免了AJAX等輪詢技術(shù)需要每次發(fā)送請求來獲取數(shù)據(jù)所帶來的低效問題.

    4 實時監(jiān)測數(shù)據(jù)的變化曲線繪制

    以往Web實時監(jiān)測應用,大多采用SVG或VML實現(xiàn)圖形繪制[5-6],編程較復雜,應用也有局限.本系統(tǒng)采用HTML5的Canvas實現(xiàn)數(shù)據(jù)變化曲線的繪制,代碼簡練.由于實際應用中需要觀察的監(jiān)測參數(shù)的數(shù)量眾多,每個參數(shù)有自己的變化曲線,考慮到這些曲線的繪制方法是一樣的,只是顏色不同,繪制的畫布不同,因此合并用一個函數(shù)drawCurve實現(xiàn)繪制.繪制曲線時要記下上一點的位置,各條曲線的上一點位置安排存儲在2個全局數(shù)組x和y中,且給y數(shù)組的元素賦初值0,給x數(shù)組的元素賦初值為坐標軸起點在Canvas中的實際位置.定義一個全局字符串類型的數(shù)組color,存儲要使用的幾種顏色值.

    function drawCurve(index,canvas,colorIndex,value){

    if (y[index]!=0){

    var c=document.getElementById("myCanvas"+canvas);

    var ctx=c.getContext("2d");

    ctx.beginPath();

    ctx.strokeStyle=color[colorIndex]; ∥設置線條顏色

    ctx.moveTo(x[index],170-y[index]);

    var x2=x[index]+1; ∥x坐標每次增加1

    ctx.lineTo(x2,170-value);

    ctx.stroke(); ∥線條的填充繪制

    if (x2>450){ ∥繪制到畫布最右邊位置,清除畫面

    ctx.clearRect(36,0,450,180);

    x2=36;

    }

    x[index]=x2;

    }

    y[index]=value; ∥記下新位置點

    }

    Canvas實現(xiàn)曲線繪制的方法很簡單,用moveTo方法定位起點,用lineTo方法定位要經(jīng)過的點,用stroke()方法實現(xiàn)線條填充繪制.

    5 結(jié)語

    Spring4+HTML5的Web實時應用設計方案具有廣泛的應用空間.客戶端和服務方用基于SockJS連接的Stomp協(xié)議實現(xiàn)數(shù)據(jù)的傳送,通過消息的發(fā)布/訂閱機制實現(xiàn)生產(chǎn)線數(shù)據(jù)的遠程監(jiān)測,并用HTML5的Canvas實現(xiàn)圖形繪制.Spring4通過很好的封裝設計,可讓編程者容易地配置基于SockJS的消息代理服務.本設計是將消息推送封裝為Web服務,其好處是可以實現(xiàn)應用部件之間的松耦合.實踐證明,該方案具有配置簡單、編程方便、運行效率高等特點.

    [1] 李慧云,何震葦,李 麗,等.HTML5技術(shù)與應用模式研究[J].電信科學,2012,28(5):24-29.

    [2] 張延召,陳少紅.基于智能手機平臺的實時控制系統(tǒng)[J].計算機應用與軟件,2013,30(7):236-239.

    [3] 丁振凡.Spring3.x編程技術(shù)與應用[M].北京:北京郵電大學出版社,2013.

    [4] 丁振凡,王小明,鄧建明,等.基于Java的串口通信應用編程[J].微型機與應用,2012,31(13):84-86.

    [5] 楊 斌,張利欣,章立軍,等.基于SVG的Web遠程實時監(jiān)測客戶端研究[J].計算機應用研究,2010,27(6):2 144-2 146.[6] 劉 丹,李 剛,田銀枝,等.利用VML和SVG繪制軍標箭頭符號的算法實現(xiàn)[J].測繪科學,2014,39(4):115-118.

    (責任編輯 向陽潔)

    Communication and Display Processing for the Real-Time Monitoring Application Based on Spring4+HTML5

    DING Zhenfan

    (School of Information Engineering,East China Jiaotong University,Nanchang 330013,China)

    In view of message pushing and display processing problems in the remote data monitoring application for the production line in one enterprise,this paper proposes an implementation scheme based on HTML5 and the Spring framework 4.WebSocket technology is used for the message transfer on the two way communication between the web browser and Web server.The Spring WebSocket service configuration and the processing scheme for message pushing are studied.The creation of SockJS connection between the client and server and the processing method for STOMP message publishing/subscription are described.By providing the REST style Web services with the messages pushing process,it is convenient for the caller to publish message.The system adopts Canvas in HTML5 for the real time data display processing,thus achieving the effect of displaying curves of various colors in the same screen.The Spring4+HTML5 scheme has the advantages of easy configuration,flexible application and efficient operation and can get satisfactory practical effects.

    HTML5;Spring4;WebSocket;Canvas;real-time monitoring;SockJS

    1007-2985(2015)04-0018-05

    2014-10-12

    丁振凡(1965—),男,江西豐城人,華東交通大學信息工程學院教授,碩士生導師,主要從事云計算、語義Web、計算機輔助教學等研究.

    TP393

    A

    10.3969/j.issn.1007-2985.2015.04.005

    猜你喜歡
    瀏覽器生產(chǎn)線繪制
    Art on coffee cups
    方便小米粥億級生產(chǎn)線投入運行
    16000t鍛造壓力機生產(chǎn)線將交付
    反瀏覽器指紋追蹤
    電子制作(2019年10期)2019-06-17 11:45:14
    放學后
    童話世界(2018年17期)2018-07-30 01:52:02
    生長在生產(chǎn)線上
    環(huán)球瀏覽器
    再見,那些年我們嘲笑過的IE瀏覽器
    英語學習(2015年6期)2016-01-30 00:37:23
    Hazelett生產(chǎn)線熔煉工藝探討
    在轉(zhuǎn)變中繪制新藍圖
    欧美在线一区亚洲| 免费一级毛片在线播放高清视频 | 捣出白浆h1v1| 视频在线观看一区二区三区| 成人18禁在线播放| 热99国产精品久久久久久7| 大型黄色视频在线免费观看| 免费在线观看完整版高清| cao死你这个sao货| √禁漫天堂资源中文www| 欧美 亚洲 国产 日韩一| 久久久久久人人人人人| 成年人免费黄色播放视频| 嫁个100分男人电影在线观看| 久久久久国产一级毛片高清牌| 精品少妇内射三级| 国产精品影院久久| 国产精品自产拍在线观看55亚洲 | 久久99热这里只频精品6学生| 亚洲专区国产一区二区| 蜜桃在线观看..| 亚洲七黄色美女视频| 两人在一起打扑克的视频| 国产1区2区3区精品| 悠悠久久av| 免费在线观看完整版高清| 久久精品成人免费网站| 色尼玛亚洲综合影院| 久久久久网色| 日韩欧美一区视频在线观看| a在线观看视频网站| 国产男女内射视频| 亚洲午夜精品一区,二区,三区| 欧美精品高潮呻吟av久久| 精品国产乱码久久久久久男人| 日韩一卡2卡3卡4卡2021年| xxxhd国产人妻xxx| 777米奇影视久久| 看免费av毛片| 久久久久久人人人人人| 黑丝袜美女国产一区| 亚洲国产av新网站| 亚洲专区字幕在线| 97在线人人人人妻| 欧美黄色片欧美黄色片| 精品乱码久久久久久99久播| 亚洲精品久久午夜乱码| 黄色怎么调成土黄色| 成人精品一区二区免费| 人人澡人人妻人| 久久午夜综合久久蜜桃| www.熟女人妻精品国产| netflix在线观看网站| 超碰97精品在线观看| 啦啦啦免费观看视频1| 国产精品九九99| 黄色视频,在线免费观看| 18在线观看网站| 国产精品美女特级片免费视频播放器 | 一本久久精品| 亚洲五月色婷婷综合| 欧美+亚洲+日韩+国产| 新久久久久国产一级毛片| 国产一区有黄有色的免费视频| 国产在线观看jvid| a级片在线免费高清观看视频| 免费高清在线观看日韩| 中国美女看黄片| 操美女的视频在线观看| 成人影院久久| 午夜日韩欧美国产| 又紧又爽又黄一区二区| 日韩欧美国产一区二区入口| 国产av一区二区精品久久| videosex国产| 中国美女看黄片| 成年女人毛片免费观看观看9 | videosex国产| 大型黄色视频在线免费观看| 日韩成人在线观看一区二区三区| 一进一出好大好爽视频| 精品国产一区二区三区久久久樱花| 亚洲男人天堂网一区| 亚洲精品国产精品久久久不卡| 亚洲av第一区精品v没综合| 制服诱惑二区| 亚洲综合色网址| 王馨瑶露胸无遮挡在线观看| 亚洲专区国产一区二区| 女人高潮潮喷娇喘18禁视频| 热99久久久久精品小说推荐| 天天添夜夜摸| 最新的欧美精品一区二区| 桃花免费在线播放| 亚洲欧美日韩高清在线视频 | 国产欧美日韩精品亚洲av| 久久精品91无色码中文字幕| 我的亚洲天堂| 久久久国产欧美日韩av| 中国美女看黄片| 天堂8中文在线网| 中文字幕制服av| 久久久国产精品麻豆| 亚洲人成伊人成综合网2020| 丰满少妇做爰视频| 欧美精品高潮呻吟av久久| 天天操日日干夜夜撸| 正在播放国产对白刺激| 飞空精品影院首页| 亚洲精品粉嫩美女一区| 91麻豆av在线| 动漫黄色视频在线观看| 久久中文字幕人妻熟女| 高清在线国产一区| 91字幕亚洲| 国产亚洲精品久久久久5区| av网站在线播放免费| 女性被躁到高潮视频| 动漫黄色视频在线观看| 久久精品国产a三级三级三级| 男人舔女人的私密视频| 午夜福利欧美成人| 人妻一区二区av| 51午夜福利影视在线观看| 日本一区二区免费在线视频| 最近最新中文字幕大全电影3 | 成年人黄色毛片网站| 国产精品免费大片| 夜夜骑夜夜射夜夜干| 久久婷婷成人综合色麻豆| 一区二区日韩欧美中文字幕| 亚洲色图 男人天堂 中文字幕| 丁香六月欧美| 精品国产一区二区三区四区第35| 亚洲色图 男人天堂 中文字幕| 色综合婷婷激情| 天天影视国产精品| 欧美日韩成人在线一区二区| 在线观看免费高清a一片| 91成人精品电影| 母亲3免费完整高清在线观看| 黑人欧美特级aaaaaa片| 一个人免费看片子| 青草久久国产| 免费日韩欧美在线观看| 亚洲精品美女久久久久99蜜臀| 亚洲国产av影院在线观看| 欧美国产精品va在线观看不卡| 午夜福利一区二区在线看| 青草久久国产| 搡老熟女国产l中国老女人| 欧美在线一区亚洲| av国产精品久久久久影院| 色在线成人网| 欧美日韩视频精品一区| 免费在线观看视频国产中文字幕亚洲| www.999成人在线观看| 亚洲天堂av无毛| 精品久久久精品久久久| 欧美激情 高清一区二区三区| 美女主播在线视频| 精品福利观看| 人人妻人人澡人人爽人人夜夜| 婷婷丁香在线五月| 国产精品1区2区在线观看. | 纵有疾风起免费观看全集完整版| 啦啦啦在线免费观看视频4| 亚洲成人免费av在线播放| 亚洲一区二区三区欧美精品| 香蕉久久夜色| 捣出白浆h1v1| 一级毛片电影观看| 国产男靠女视频免费网站| av网站免费在线观看视频| 91老司机精品| 久久精品熟女亚洲av麻豆精品| 香蕉国产在线看| 大片免费播放器 马上看| 成年动漫av网址| 波多野结衣一区麻豆| 一本大道久久a久久精品| 久久久欧美国产精品| 视频区图区小说| 不卡av一区二区三区| 国产免费av片在线观看野外av| 欧美人与性动交α欧美精品济南到| 欧美日韩国产mv在线观看视频| av欧美777| 午夜精品久久久久久毛片777| 精品久久久精品久久久| 日韩三级视频一区二区三区| www.精华液| 美女视频免费永久观看网站| 夜夜爽天天搞| 99国产精品99久久久久| 亚洲精品久久成人aⅴ小说| 波多野结衣一区麻豆| 欧美性长视频在线观看| 成人免费观看视频高清| 91大片在线观看| 亚洲少妇的诱惑av| 一边摸一边抽搐一进一小说 | 韩国精品一区二区三区| 十八禁人妻一区二区| 色综合婷婷激情| 考比视频在线观看| av又黄又爽大尺度在线免费看| 一区二区三区激情视频| 亚洲精品中文字幕一二三四区 | 露出奶头的视频| 色尼玛亚洲综合影院| 999久久久国产精品视频| 日本a在线网址| 国产日韩一区二区三区精品不卡| 极品少妇高潮喷水抽搐| 国产午夜精品久久久久久| 国产精品偷伦视频观看了| 高清毛片免费观看视频网站 | 婷婷丁香在线五月| 热99国产精品久久久久久7| 久久天堂一区二区三区四区| 中亚洲国语对白在线视频| 一级片'在线观看视频| 亚洲专区字幕在线| 欧美av亚洲av综合av国产av| 日韩欧美免费精品| 狂野欧美激情性xxxx| 色婷婷久久久亚洲欧美| 亚洲视频免费观看视频| 精品久久久久久电影网| 香蕉国产在线看| 欧美大码av| 波多野结衣一区麻豆| 我的亚洲天堂| 欧美国产精品va在线观看不卡| 男男h啪啪无遮挡| 欧美精品啪啪一区二区三区| 亚洲,欧美精品.| 精品国产一区二区久久| 女同久久另类99精品国产91| 国产伦人伦偷精品视频| 久久青草综合色| 涩涩av久久男人的天堂| 亚洲色图 男人天堂 中文字幕| 又黄又粗又硬又大视频| 久久久国产精品麻豆| av又黄又爽大尺度在线免费看| 亚洲成人免费电影在线观看| 18禁美女被吸乳视频| 国产一区二区 视频在线| 伊人久久大香线蕉亚洲五| 电影成人av| aaaaa片日本免费| 亚洲免费av在线视频| 亚洲天堂av无毛| 国产一卡二卡三卡精品| 人妻一区二区av| 成在线人永久免费视频| 久久天躁狠狠躁夜夜2o2o| 国产熟女午夜一区二区三区| 欧美一级毛片孕妇| 精品国产国语对白av| 精品少妇一区二区三区视频日本电影| 精品亚洲成国产av| 欧美日本中文国产一区发布| 国产成人精品在线电影| 国产福利在线免费观看视频| 国产麻豆69| 日日爽夜夜爽网站| 国产无遮挡羞羞视频在线观看| 欧美变态另类bdsm刘玥| 欧美精品人与动牲交sv欧美| 一区在线观看完整版| 一区二区av电影网| 搡老乐熟女国产| 免费在线观看影片大全网站| 久久精品91无色码中文字幕| 久久精品亚洲熟妇少妇任你| 天天添夜夜摸| 日日爽夜夜爽网站| 精品人妻熟女毛片av久久网站| 大片电影免费在线观看免费| 精品亚洲成a人片在线观看| 成年人黄色毛片网站| www日本在线高清视频| 国产精品九九99| 男女高潮啪啪啪动态图| 精品国产一区二区三区四区第35| 十分钟在线观看高清视频www| 国产精品久久久久久精品古装| 亚洲七黄色美女视频| 啦啦啦在线免费观看视频4| 久热这里只有精品99| 成人国语在线视频| 亚洲精品在线观看二区| 日本一区二区免费在线视频| 超碰97精品在线观看| 久久99一区二区三区| 黄色毛片三级朝国网站| 国产欧美日韩精品亚洲av| 多毛熟女@视频| 涩涩av久久男人的天堂| 日韩一卡2卡3卡4卡2021年| 激情视频va一区二区三区| 国产成人精品无人区| 大片免费播放器 马上看| 欧美黄色片欧美黄色片| 国产亚洲午夜精品一区二区久久| 天天躁狠狠躁夜夜躁狠狠躁| 首页视频小说图片口味搜索| 亚洲伊人色综图| 日本av免费视频播放| 9热在线视频观看99| 久久中文字幕一级| 亚洲av成人一区二区三| 国产精品九九99| 精品一区二区三区av网在线观看 | 国产男女内射视频| 亚洲成人免费av在线播放| 别揉我奶头~嗯~啊~动态视频| 久热爱精品视频在线9| 狠狠婷婷综合久久久久久88av| 怎么达到女性高潮| 1024香蕉在线观看| 夫妻午夜视频| av欧美777| 亚洲免费av在线视频| 亚洲 国产 在线| 欧美成狂野欧美在线观看| 老司机在亚洲福利影院| 国产亚洲精品久久久久5区| 亚洲av片天天在线观看| 性高湖久久久久久久久免费观看| 久久 成人 亚洲| 高清视频免费观看一区二区| 国产日韩一区二区三区精品不卡| 成人18禁在线播放| 亚洲国产欧美在线一区| 久久午夜综合久久蜜桃| 成年动漫av网址| 成人国语在线视频| 十八禁高潮呻吟视频| 99精品久久久久人妻精品| 亚洲精品成人av观看孕妇| 高清黄色对白视频在线免费看| 黑人操中国人逼视频| 亚洲精品国产精品久久久不卡| 91老司机精品| 日本精品一区二区三区蜜桃| 一级毛片女人18水好多| 成年人免费黄色播放视频| 两个人看的免费小视频| 精品人妻熟女毛片av久久网站| 黑人欧美特级aaaaaa片| 亚洲,欧美精品.| 91大片在线观看| 国产精品香港三级国产av潘金莲| av网站在线播放免费| 一个人免费看片子| 自拍欧美九色日韩亚洲蝌蚪91| 男女午夜视频在线观看| 桃花免费在线播放| 天天影视国产精品| 色综合欧美亚洲国产小说| 一个人免费看片子| 人妻久久中文字幕网| 无遮挡黄片免费观看| 老司机午夜十八禁免费视频| 久久精品国产a三级三级三级| 中文字幕人妻熟女乱码| 中文字幕制服av| 在线观看免费午夜福利视频| 狠狠精品人妻久久久久久综合| 波多野结衣一区麻豆| 久久婷婷成人综合色麻豆| 成人黄色视频免费在线看| 国产亚洲一区二区精品| 久9热在线精品视频| 丝袜在线中文字幕| 99久久国产精品久久久| 99久久人妻综合| 菩萨蛮人人尽说江南好唐韦庄| 亚洲国产成人一精品久久久| 一进一出抽搐动态| 国产日韩欧美亚洲二区| 在线av久久热| 免费少妇av软件| 2018国产大陆天天弄谢| 久久亚洲精品不卡| 久久久久精品国产欧美久久久| 日韩欧美一区视频在线观看| 搡老乐熟女国产| 午夜福利,免费看| 欧美久久黑人一区二区| 国产午夜精品久久久久久| 国产免费视频播放在线视频| 精品久久久久久久毛片微露脸| 一区二区三区国产精品乱码| 国内毛片毛片毛片毛片毛片| 一边摸一边抽搐一进一出视频| 亚洲国产精品一区二区三区在线| 亚洲午夜精品一区,二区,三区| 国产福利在线免费观看视频| 侵犯人妻中文字幕一二三四区| 又大又爽又粗| 悠悠久久av| 美女主播在线视频| 成人国产一区最新在线观看| 首页视频小说图片口味搜索| 成年动漫av网址| av一本久久久久| kizo精华| 50天的宝宝边吃奶边哭怎么回事| 亚洲av日韩精品久久久久久密| 成人精品一区二区免费| 免费观看av网站的网址| 一边摸一边抽搐一进一出视频| 老鸭窝网址在线观看| 老熟妇乱子伦视频在线观看| 日韩人妻精品一区2区三区| 少妇 在线观看| 欧美日韩成人在线一区二区| 每晚都被弄得嗷嗷叫到高潮| 国产麻豆69| 99精品久久久久人妻精品| 三上悠亚av全集在线观看| 操出白浆在线播放| 日韩制服丝袜自拍偷拍| 亚洲成国产人片在线观看| 天天影视国产精品| 国产人伦9x9x在线观看| 精品少妇黑人巨大在线播放| 美女福利国产在线| 少妇裸体淫交视频免费看高清 | 性少妇av在线| 亚洲第一av免费看| 久久影院123| 亚洲久久久国产精品| 亚洲精品av麻豆狂野| 久久久国产精品麻豆| 又黄又粗又硬又大视频| 久久久久国内视频| 亚洲国产欧美日韩在线播放| 性少妇av在线| 日韩欧美一区视频在线观看| 一级毛片女人18水好多| 国产有黄有色有爽视频| 国产精品久久久久久精品电影小说| a在线观看视频网站| 国产精品久久久久久精品古装| 日本wwww免费看| 波多野结衣av一区二区av| 午夜激情久久久久久久| 一进一出好大好爽视频| 久久国产亚洲av麻豆专区| 99国产综合亚洲精品| 免费日韩欧美在线观看| 久久精品亚洲av国产电影网| 亚洲 国产 在线| 日韩中文字幕视频在线看片| 久久毛片免费看一区二区三区| 久久99热这里只频精品6学生| 日韩熟女老妇一区二区性免费视频| 中文字幕最新亚洲高清| 天堂动漫精品| av电影中文网址| 电影成人av| 欧美亚洲日本最大视频资源| aaaaa片日本免费| avwww免费| 久久国产精品人妻蜜桃| 亚洲人成77777在线视频| 女性被躁到高潮视频| 视频在线观看一区二区三区| 欧美日韩亚洲高清精品| 在线av久久热| 18禁国产床啪视频网站| 91精品国产国语对白视频| 香蕉丝袜av| 国产精品98久久久久久宅男小说| 欧美日韩视频精品一区| 免费看a级黄色片| 美女扒开内裤让男人捅视频| 在线永久观看黄色视频| 99国产精品99久久久久| 久久精品国产亚洲av高清一级| 在线观看66精品国产| 成人黄色视频免费在线看| 国产野战对白在线观看| svipshipincom国产片| 精品少妇黑人巨大在线播放| 欧美人与性动交α欧美软件| 久久久久国内视频| 亚洲精品在线观看二区| 高清在线国产一区| 国产一区二区激情短视频| 在线十欧美十亚洲十日本专区| 免费看十八禁软件| 亚洲专区中文字幕在线| 人妻久久中文字幕网| 国产精品二区激情视频| 天天躁日日躁夜夜躁夜夜| 啪啪无遮挡十八禁网站| 国产欧美日韩一区二区三区在线| 国产亚洲欧美精品永久| 日韩三级视频一区二区三区| 超碰成人久久| 国产精品偷伦视频观看了| 国产男靠女视频免费网站| www.精华液| 19禁男女啪啪无遮挡网站| 又黄又粗又硬又大视频| 两性夫妻黄色片| 新久久久久国产一级毛片| 国产精品欧美亚洲77777| 老汉色av国产亚洲站长工具| 国产精品久久久久成人av| 18在线观看网站| 乱人伦中国视频| 黄色丝袜av网址大全| 大香蕉久久网| 国产精品99久久99久久久不卡| 麻豆国产av国片精品| 波多野结衣av一区二区av| 亚洲情色 制服丝袜| 大陆偷拍与自拍| 一二三四在线观看免费中文在| 99精品久久久久人妻精品| 精品一区二区三卡| 精品国产乱子伦一区二区三区| 久久中文字幕一级| 妹子高潮喷水视频| 精品欧美一区二区三区在线| 99在线人妻在线中文字幕 | av在线播放免费不卡| 高潮久久久久久久久久久不卡| 黄色视频,在线免费观看| 在线观看66精品国产| 亚洲伊人久久精品综合| 国产精品国产av在线观看| 精品卡一卡二卡四卡免费| 国产精品 国内视频| 欧美+亚洲+日韩+国产| 男女高潮啪啪啪动态图| 国产精品自产拍在线观看55亚洲 | 黄片小视频在线播放| 亚洲午夜理论影院| 最新的欧美精品一区二区| 日韩欧美国产一区二区入口| 色尼玛亚洲综合影院| 国产精品一区二区在线观看99| 黄色视频在线播放观看不卡| 99热国产这里只有精品6| 美女午夜性视频免费| 一级毛片精品| av网站免费在线观看视频| 午夜精品国产一区二区电影| 免费久久久久久久精品成人欧美视频| 啦啦啦 在线观看视频| 午夜激情av网站| 精品久久久久久电影网| 精品乱码久久久久久99久播| 不卡av一区二区三区| 成人黄色视频免费在线看| av欧美777| 国产成人精品久久二区二区免费| 久久精品91无色码中文字幕| 国产亚洲精品第一综合不卡| 欧美久久黑人一区二区| 久久精品国产亚洲av高清一级| 在线亚洲精品国产二区图片欧美| 国产激情久久老熟女| 五月开心婷婷网| 国产亚洲av高清不卡| 夜夜夜夜夜久久久久| 亚洲成人国产一区在线观看| 99国产精品一区二区三区| 精品国产乱码久久久久久小说| 国产精品久久久人人做人人爽| 女人爽到高潮嗷嗷叫在线视频| 大香蕉久久成人网| 国产在线观看jvid| av国产精品久久久久影院| 99国产精品一区二区蜜桃av | 色94色欧美一区二区| 亚洲熟女毛片儿| 18禁裸乳无遮挡动漫免费视频| 亚洲精品美女久久av网站| 亚洲欧美精品综合一区二区三区| 亚洲国产av影院在线观看| 宅男免费午夜| 亚洲自偷自拍图片 自拍| 一区在线观看完整版| 欧美变态另类bdsm刘玥| 高清欧美精品videossex| 亚洲天堂av无毛| 考比视频在线观看| 欧美日韩国产mv在线观看视频| 青草久久国产| 一区福利在线观看| 中文字幕高清在线视频| 久久性视频一级片| 久久精品熟女亚洲av麻豆精品| 精品高清国产在线一区| 91国产中文字幕| 一区福利在线观看| av电影中文网址| 欧美日韩福利视频一区二区| 两个人免费观看高清视频| 欧美乱码精品一区二区三区| 亚洲天堂av无毛| 热99久久久久精品小说推荐| 成人永久免费在线观看视频 | 欧美精品高潮呻吟av久久| 啦啦啦中文免费视频观看日本|