• <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)變中繪制新藍圖
    亚洲人成网站在线播| 亚洲精品,欧美精品| 亚洲高清免费不卡视频| 国产精品国产三级国产av玫瑰| 国产成人freesex在线| 精品酒店卫生间| 国产在视频线在精品| 亚洲精品日韩在线中文字幕| 久久6这里有精品| 久久久精品欧美日韩精品| 麻豆久久精品国产亚洲av| 色综合站精品国产| 国产欧美日韩精品一区二区| 毛片一级片免费看久久久久| 国产午夜福利久久久久久| 欧美日韩综合久久久久久| 1000部很黄的大片| 精品不卡国产一区二区三区| 最近中文字幕2019免费版| 天堂中文最新版在线下载 | 精品久久久久久久久av| 小蜜桃在线观看免费完整版高清| 国产免费又黄又爽又色| 免费少妇av软件| 亚洲国产精品国产精品| 久久精品国产亚洲网站| 亚洲国产精品成人综合色| 亚洲内射少妇av| 免费看美女性在线毛片视频| 婷婷色综合大香蕉| 只有这里有精品99| 亚洲欧美日韩无卡精品| 亚洲熟女精品中文字幕| 3wmmmm亚洲av在线观看| 精华霜和精华液先用哪个| 欧美日韩在线观看h| 欧美bdsm另类| 亚洲乱码一区二区免费版| 日本午夜av视频| 国产精品爽爽va在线观看网站| 国产片特级美女逼逼视频| av黄色大香蕉| 亚洲第一区二区三区不卡| 搡女人真爽免费视频火全软件| 亚洲av一区综合| 简卡轻食公司| 人人妻人人看人人澡| 国产成人精品久久久久久| 亚洲伊人久久精品综合| 国语对白做爰xxxⅹ性视频网站| 久久草成人影院| 麻豆成人av视频| 亚洲精品自拍成人| 日韩强制内射视频| 人妻系列 视频| 国产在线男女| 免费看a级黄色片| 淫秽高清视频在线观看| 国产乱来视频区| 波多野结衣巨乳人妻| 亚洲av日韩在线播放| 一级毛片 在线播放| 国产成人a∨麻豆精品| 久久草成人影院| 搞女人的毛片| 又大又黄又爽视频免费| 美女内射精品一级片tv| 中文字幕人妻熟人妻熟丝袜美| 免费无遮挡裸体视频| 亚洲精品成人久久久久久| 欧美性感艳星| 极品教师在线视频| 成人亚洲精品一区在线观看 | 亚洲精品国产av蜜桃| 特级一级黄色大片| 日韩精品有码人妻一区| 一级毛片我不卡| 丝瓜视频免费看黄片| 精品少妇黑人巨大在线播放| 身体一侧抽搐| 丰满乱子伦码专区| 啦啦啦啦在线视频资源| 白带黄色成豆腐渣| 国产成人免费观看mmmm| 亚洲最大成人手机在线| 精品国内亚洲2022精品成人| 亚洲精品亚洲一区二区| 欧美日韩视频高清一区二区三区二| 一级黄片播放器| 少妇的逼水好多| 男女啪啪激烈高潮av片| av在线天堂中文字幕| 韩国av在线不卡| 国产精品不卡视频一区二区| 国产亚洲5aaaaa淫片| 97超视频在线观看视频| 一级毛片久久久久久久久女| 毛片一级片免费看久久久久| 国产精品一二三区在线看| 精品久久久久久久久久久久久| 高清视频免费观看一区二区 | 大片免费播放器 马上看| 天堂俺去俺来也www色官网 | 天天躁夜夜躁狠狠久久av| 七月丁香在线播放| 欧美zozozo另类| 久久97久久精品| 亚洲成人久久爱视频| 久久久久久久大尺度免费视频| videos熟女内射| 91狼人影院| 成人毛片60女人毛片免费| 久久精品夜夜夜夜夜久久蜜豆| 九九久久精品国产亚洲av麻豆| h日本视频在线播放| 一级毛片黄色毛片免费观看视频| 大又大粗又爽又黄少妇毛片口| 成人一区二区视频在线观看| 国产成人一区二区在线| 人人妻人人澡人人爽人人夜夜 | 全区人妻精品视频| 亚洲精品亚洲一区二区| 婷婷六月久久综合丁香| 亚洲国产欧美人成| 亚洲高清免费不卡视频| 久久精品国产亚洲网站| 国产色婷婷99| 国产一区二区三区综合在线观看 | 精品久久国产蜜桃| av在线播放精品| 久久久久九九精品影院| 国产精品蜜桃在线观看| 男女那种视频在线观看| 内射极品少妇av片p| 国产永久视频网站| 亚洲国产欧美在线一区| 丰满少妇做爰视频| 久久人人爽人人片av| 成年女人在线观看亚洲视频 | 婷婷色麻豆天堂久久| 我的女老师完整版在线观看| 一二三四中文在线观看免费高清| 亚洲欧美一区二区三区国产| 又爽又黄a免费视频| 99re6热这里在线精品视频| 人妻夜夜爽99麻豆av| 2021天堂中文幕一二区在线观| 九九久久精品国产亚洲av麻豆| 久久久精品94久久精品| 天天躁日日操中文字幕| 干丝袜人妻中文字幕| 国产激情偷乱视频一区二区| 国产一区二区在线观看日韩| av国产久精品久网站免费入址| 欧美一级a爱片免费观看看| 日韩av在线免费看完整版不卡| 亚洲av电影在线观看一区二区三区 | 亚洲精品国产成人久久av| 三级国产精品片| 日韩国内少妇激情av| 色综合亚洲欧美另类图片| 亚洲精品日本国产第一区| 97超碰精品成人国产| 亚洲精品日韩av片在线观看| 国产精品嫩草影院av在线观看| 波多野结衣巨乳人妻| 精华霜和精华液先用哪个| 日韩欧美精品免费久久| 成人欧美大片| eeuss影院久久| 最后的刺客免费高清国语| 美女被艹到高潮喷水动态| 日本与韩国留学比较| 卡戴珊不雅视频在线播放| 极品少妇高潮喷水抽搐| 国产爱豆传媒在线观看| 久久韩国三级中文字幕| a级一级毛片免费在线观看| 街头女战士在线观看网站| 一个人观看的视频www高清免费观看| 乱码一卡2卡4卡精品| 日韩人妻高清精品专区| 久久午夜福利片| 日韩视频在线欧美| 精华霜和精华液先用哪个| 亚洲va在线va天堂va国产| 日韩一区二区视频免费看| 精品人妻视频免费看| 18禁裸乳无遮挡免费网站照片| 成人欧美大片| 精品国产三级普通话版| 亚洲精品日本国产第一区| 国产伦在线观看视频一区| 国产成人91sexporn| 成人性生交大片免费视频hd| 特级一级黄色大片| 七月丁香在线播放| 国产乱来视频区| 少妇熟女aⅴ在线视频| 久久99精品国语久久久| 夫妻午夜视频| 亚洲国产精品成人综合色| 亚洲精品色激情综合| 男女视频在线观看网站免费| 国产精品蜜桃在线观看| 在线播放无遮挡| 亚洲精品久久久久久婷婷小说| 一区二区三区高清视频在线| 精品国产露脸久久av麻豆 | 亚洲美女搞黄在线观看| 成年女人在线观看亚洲视频 | 婷婷色麻豆天堂久久| 国产成人免费观看mmmm| 青春草亚洲视频在线观看| 啦啦啦中文免费视频观看日本| 国内精品宾馆在线| 69人妻影院| 在现免费观看毛片| 精品人妻熟女av久视频| 青春草国产在线视频| 欧美潮喷喷水| 十八禁网站网址无遮挡 | 精品一区二区三区人妻视频| 欧美精品一区二区大全| 国产永久视频网站| 婷婷色综合大香蕉| 亚洲高清免费不卡视频| 特大巨黑吊av在线直播| 亚洲人成网站在线播| 韩国高清视频一区二区三区| 成人午夜精彩视频在线观看| 久久这里有精品视频免费| 99久久精品一区二区三区| 99视频精品全部免费 在线| 国产亚洲5aaaaa淫片| 亚洲国产欧美人成| 在线免费观看不下载黄p国产| 亚洲三级黄色毛片| 一区二区三区高清视频在线| 男女边吃奶边做爰视频| 床上黄色一级片| 久久久久久伊人网av| 午夜福利在线观看吧| 中文字幕人妻熟人妻熟丝袜美| 国产熟女欧美一区二区| 免费av毛片视频| av国产久精品久网站免费入址| 高清在线视频一区二区三区| 欧美日韩综合久久久久久| 99热网站在线观看| 国语对白做爰xxxⅹ性视频网站| 欧美一级a爱片免费观看看| 永久网站在线| 久久人人爽人人爽人人片va| 中文乱码字字幕精品一区二区三区 | 偷拍熟女少妇极品色| 国产单亲对白刺激| a级一级毛片免费在线观看| 大陆偷拍与自拍| 成人毛片a级毛片在线播放| 国产精品福利在线免费观看| 嫩草影院新地址| 亚洲欧美中文字幕日韩二区| 国产在线一区二区三区精| 人体艺术视频欧美日本| 亚洲av中文av极速乱| 亚洲av电影在线观看一区二区三区 | 成人午夜高清在线视频| 十八禁国产超污无遮挡网站| 神马国产精品三级电影在线观看| 国产精品爽爽va在线观看网站| 久久久久久久大尺度免费视频| 免费av不卡在线播放| 久久这里只有精品中国| 成人午夜高清在线视频| 国产精品久久视频播放| 欧美性感艳星| 亚洲精品第二区| 99久久精品一区二区三区| 国产高清不卡午夜福利| 国产伦精品一区二区三区视频9| 男女视频在线观看网站免费| 伊人久久国产一区二区| 国产熟女欧美一区二区| 一级片'在线观看视频| 能在线免费观看的黄片| 欧美激情国产日韩精品一区| 色吧在线观看| 天堂俺去俺来也www色官网 | 天天躁夜夜躁狠狠久久av| 午夜福利在线观看吧| 国产成人一区二区在线| 搡老乐熟女国产| 亚洲av成人精品一区久久| 又大又黄又爽视频免费| 欧美日韩亚洲高清精品| 中文欧美无线码| 男人爽女人下面视频在线观看| 波野结衣二区三区在线| 日日干狠狠操夜夜爽| 日韩一区二区视频免费看| 国产成人免费观看mmmm| 久久久久久久久久久丰满| 中文欧美无线码| 国产美女午夜福利| av网站免费在线观看视频 | 国产探花极品一区二区| 亚洲内射少妇av| 国产 一区 欧美 日韩| 26uuu在线亚洲综合色| 国产亚洲一区二区精品| 婷婷色麻豆天堂久久| 日本欧美国产在线视频| 波野结衣二区三区在线| 嫩草影院入口| 欧美不卡视频在线免费观看| 久久6这里有精品| 色5月婷婷丁香| 国产黄a三级三级三级人| 高清在线视频一区二区三区| 99久久精品热视频| 直男gayav资源| 少妇人妻一区二区三区视频| 日本黄色片子视频| 日本与韩国留学比较| 欧美xxxx性猛交bbbb| 精品一区二区三区人妻视频| 午夜精品在线福利| 亚洲av日韩在线播放| 18禁裸乳无遮挡免费网站照片| 欧美激情久久久久久爽电影| 搡老妇女老女人老熟妇| 高清视频免费观看一区二区 | 99久久九九国产精品国产免费| 淫秽高清视频在线观看| 国产又色又爽无遮挡免| 一级毛片电影观看| 99久久精品一区二区三区| 五月玫瑰六月丁香| 夜夜爽夜夜爽视频| av又黄又爽大尺度在线免费看| 直男gayav资源| 日韩精品有码人妻一区| 狠狠精品人妻久久久久久综合| 国产一区二区三区av在线| 非洲黑人性xxxx精品又粗又长| 永久网站在线| 亚洲精品日本国产第一区| 一级毛片黄色毛片免费观看视频| 最近手机中文字幕大全| 人体艺术视频欧美日本| 午夜免费激情av| av福利片在线观看| 一级毛片我不卡| 欧美最新免费一区二区三区| videossex国产| 网址你懂的国产日韩在线| 综合色丁香网| 熟妇人妻久久中文字幕3abv| 搡老妇女老女人老熟妇| 国内精品一区二区在线观看| 久久韩国三级中文字幕| av福利片在线观看| 18禁裸乳无遮挡免费网站照片| av福利片在线观看| 国语对白做爰xxxⅹ性视频网站| 国产精品一区二区在线观看99 | 18+在线观看网站| 国产黄a三级三级三级人| 夜夜爽夜夜爽视频| 有码 亚洲区| 一级毛片aaaaaa免费看小| 国产成年人精品一区二区| 国产色爽女视频免费观看| 美女国产视频在线观看| 又黄又爽又刺激的免费视频.| 99久久中文字幕三级久久日本| av线在线观看网站| 午夜老司机福利剧场| 精品少妇黑人巨大在线播放| 69人妻影院| 亚洲欧美日韩东京热| 日本av手机在线免费观看| av在线亚洲专区| 舔av片在线| 亚洲欧美成人精品一区二区| 亚洲av一区综合| 中文资源天堂在线| 国产综合精华液| 亚洲无线观看免费| 国产黄色小视频在线观看| 色5月婷婷丁香| 国产精品女同一区二区软件| 精品少妇黑人巨大在线播放| 欧美zozozo另类| 91精品一卡2卡3卡4卡| 亚洲精品色激情综合| 亚洲内射少妇av| 亚洲国产精品成人综合色| 国产伦精品一区二区三区四那| 深夜a级毛片| 日韩欧美精品免费久久| 欧美变态另类bdsm刘玥| 日日啪夜夜撸| 午夜福利视频1000在线观看| 午夜免费男女啪啪视频观看| 五月伊人婷婷丁香| 国产老妇伦熟女老妇高清| 亚洲无线观看免费| 日韩中字成人| 麻豆成人午夜福利视频| 成年版毛片免费区| 狂野欧美激情性xxxx在线观看| 欧美极品一区二区三区四区| 亚洲av日韩在线播放| 国产高清有码在线观看视频| 精品一区二区三卡| 免费av毛片视频| 蜜桃久久精品国产亚洲av| 汤姆久久久久久久影院中文字幕 | 能在线免费观看的黄片| 成人亚洲精品一区在线观看 | 最近最新中文字幕大全电影3| 日韩欧美精品v在线| 国产精品久久久久久av不卡| 亚洲国产精品国产精品| 亚洲欧美日韩无卡精品| 韩国av在线不卡| 国产爱豆传媒在线观看| 偷拍熟女少妇极品色| av黄色大香蕉| 性插视频无遮挡在线免费观看| 成人午夜精彩视频在线观看| 日韩制服骚丝袜av| 特大巨黑吊av在线直播| 日韩av不卡免费在线播放| 97精品久久久久久久久久精品| 汤姆久久久久久久影院中文字幕 | 18+在线观看网站| 亚洲av一区综合| 欧美不卡视频在线免费观看| 99久久精品国产国产毛片| 成人毛片a级毛片在线播放| 国产成人aa在线观看| 亚洲真实伦在线观看| 如何舔出高潮| 日韩大片免费观看网站| 成人欧美大片| 日韩成人av中文字幕在线观看| 看十八女毛片水多多多| 日本一二三区视频观看| 男女啪啪激烈高潮av片| 极品教师在线视频| av免费在线看不卡| 波多野结衣巨乳人妻| 欧美日韩视频高清一区二区三区二| 亚洲欧美日韩东京热| 一区二区三区免费毛片| 国产免费一级a男人的天堂| 在线免费观看不下载黄p国产| 久久精品国产自在天天线| 最近2019中文字幕mv第一页| av免费观看日本| 色吧在线观看| 国产乱人偷精品视频| 国产黄频视频在线观看| 成人特级av手机在线观看| 两个人视频免费观看高清| 一级毛片aaaaaa免费看小| 丰满人妻一区二区三区视频av| 内地一区二区视频在线| 亚洲欧美精品专区久久| 青春草亚洲视频在线观看| 校园人妻丝袜中文字幕| 直男gayav资源| 五月伊人婷婷丁香| 欧美3d第一页| 国产亚洲5aaaaa淫片| 最近的中文字幕免费完整| 高清午夜精品一区二区三区| 国产精品久久久久久av不卡| 亚洲,欧美,日韩| 超碰av人人做人人爽久久| 国产激情偷乱视频一区二区| 日韩大片免费观看网站| 中文字幕免费在线视频6| 少妇人妻一区二区三区视频| a级毛色黄片| 亚洲精品久久久久久婷婷小说| 国产一区亚洲一区在线观看| 亚洲高清免费不卡视频| 看黄色毛片网站| 日韩精品有码人妻一区| 亚洲精品456在线播放app| 精品人妻视频免费看| 少妇熟女欧美另类| 边亲边吃奶的免费视频| 国语对白做爰xxxⅹ性视频网站| 亚洲国产日韩欧美精品在线观看| 亚洲国产欧美在线一区| 老师上课跳d突然被开到最大视频| 久久这里只有精品中国| 精品99又大又爽又粗少妇毛片| 婷婷色综合大香蕉| 国产一级毛片在线| 国产免费一级a男人的天堂| 一夜夜www| 特级一级黄色大片| 亚洲av电影在线观看一区二区三区 | 热99在线观看视频| 熟妇人妻不卡中文字幕| 少妇丰满av| 晚上一个人看的免费电影| 精品久久久久久久久亚洲| 男人狂女人下面高潮的视频| 亚洲国产精品sss在线观看| 啦啦啦啦在线视频资源| 亚洲成人精品中文字幕电影| 建设人人有责人人尽责人人享有的 | 欧美激情在线99| 免费观看在线日韩| 欧美3d第一页| 97超视频在线观看视频| 高清视频免费观看一区二区 | 国产永久视频网站| 精品99又大又爽又粗少妇毛片| 国产成人精品婷婷| 国内精品一区二区在线观看| 男人爽女人下面视频在线观看| 免费观看a级毛片全部| 丝袜喷水一区| 青青草视频在线视频观看| 国产有黄有色有爽视频| 国产亚洲一区二区精品| 日韩大片免费观看网站| 欧美+日韩+精品| 禁无遮挡网站| 亚洲熟女精品中文字幕| 国产色婷婷99| 成人午夜高清在线视频| 国产精品综合久久久久久久免费| 亚洲av电影不卡..在线观看| 麻豆国产97在线/欧美| 少妇高潮的动态图| 最近2019中文字幕mv第一页| 日本wwww免费看| 日韩一区二区视频免费看| 国产免费视频播放在线视频 | 99久国产av精品| 精品午夜福利在线看| 精品少妇黑人巨大在线播放| 少妇猛男粗大的猛烈进出视频 | 久久热精品热| 久久久久九九精品影院| 三级国产精品片| 国产一级毛片七仙女欲春2| 亚洲综合精品二区| 午夜福利在线观看免费完整高清在| 在线 av 中文字幕| 久久热精品热| 久久99热6这里只有精品| 日韩欧美精品v在线| 亚洲av电影不卡..在线观看| 又大又黄又爽视频免费| 毛片一级片免费看久久久久| videos熟女内射| 亚洲精品色激情综合| 免费观看精品视频网站| 夫妻午夜视频| 日韩电影二区| or卡值多少钱| 国产伦一二天堂av在线观看| 国产av国产精品国产| 欧美最新免费一区二区三区| 久久国内精品自在自线图片| 麻豆久久精品国产亚洲av| 午夜激情福利司机影院| 国产极品天堂在线| 免费看日本二区| 日韩制服骚丝袜av| 亚洲在线观看片| 欧美精品国产亚洲| 美女被艹到高潮喷水动态| 成人漫画全彩无遮挡| 免费看光身美女| 成人无遮挡网站| 大话2 男鬼变身卡| 非洲黑人性xxxx精品又粗又长| 久久国产乱子免费精品| 女的被弄到高潮叫床怎么办| 日日撸夜夜添| 中文字幕久久专区| 国产亚洲最大av| 日韩,欧美,国产一区二区三区| 好男人视频免费观看在线| 你懂的网址亚洲精品在线观看| 国产精品久久久久久精品电影小说 | 我要看日韩黄色一级片| 最近中文字幕2019免费版| 婷婷色av中文字幕| 色哟哟·www| 国产男女超爽视频在线观看| 亚洲一区高清亚洲精品| 国产黄a三级三级三级人| 久久久久久久久久人人人人人人| 久久精品夜色国产| 最近最新中文字幕免费大全7| 日韩,欧美,国产一区二区三区| 狂野欧美白嫩少妇大欣赏| 丰满人妻一区二区三区视频av| 少妇熟女aⅴ在线视频| 亚洲人与动物交配视频| 在线免费观看的www视频| 日韩,欧美,国产一区二区三区| 三级毛片av免费|