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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

架构师讲解Java中websocket的应用

發布時間:2023/12/4 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 架构师讲解Java中websocket的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要來介紹一下在java項目中,特別是java web項目中websocket的應用。

場景:我做了一個商城系統,跟大多數商城系統,分為客戶端和后臺,客戶端供客戶瀏覽,下單,購買,后臺主要管理商品,處理訂單,發貨等。我現在要實現的功能是,當客戶端有客戶下單,并且支付完成以后,主動推送消息給后臺,讓后臺的人知道,好去處理發貨等事宜。


首先,我們要知道websocket
是一個連接,這個連接是客戶端(頁面)與服務端之間的連接,所以我們要分兩部分來完成這個連接,服務端代碼和客戶端代碼。

1.首先,在pom.xml引入如下jar包。

<!-- websocket --><dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.0</version></dependency>

2.然后我們要知道的是,websocket是客戶端和服務端之間建立了一個連接,建立完連接以后,會生成一個websocket對象,我們可以用這個對象來執行發送,接收等操作。

但是這只是一個存在于客戶端與服務器之間的鏈接,換句話說,系統只能識別到這個websocket連接是對應于哪個頁面(瀏覽器
),而這個頁面在系統中是對應哪個用戶(數據庫中的用戶,或者根本就沒有對應任何用戶,即未登錄,只是一個游客),我們是無法從這個websocket對象中獲取的。


所以我們需要創建一個Map對象,用于將websocket對象和實際的user對象進行關聯,這樣為我們后續向特定的用戶推送消息做鋪墊。

為此,我們創建一個WsPool,即websocket連接池的類,該類用于管理現實中的用戶和websocket對象之間的關聯。代碼如下。

package com.xdx.websocket;import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set;import org.java_websocket.WebSocket;public class WsPool {private static final Map<WebSocket, String> wsUserMap = new HashMap<WebSocket, String>();/*** 通過websocket連接獲取其對應的用戶* * @param conn* @return*/public static String getUserByWs(WebSocket conn) {return wsUserMap.get(conn);}/*** 根據userName獲取WebSocket,這是一個list,此處取第一個* 因為有可能多個websocket對應一個userName(但一般是只有一個,因為在close方法中,我們將失效的websocket連接去除了)* * @param user*/public static WebSocket getWsByUser(String userName) {Set<WebSocket> keySet = wsUserMap.keySet();synchronized (keySet) {for (WebSocket conn : keySet) {String cuser = wsUserMap.get(conn);if (cuser.equals(userName)) {return conn;}}}return null;}/*** 向連接池中添加連接* * @param inbound*/public static void addUser(String userName, WebSocket conn) {wsUserMap.put(conn, userName); // 添加連接}/*** 獲取所有連接池中的用戶,因為set是不允許重復的,所以可以得到無重復的user數組* * @return*/public static Collection<String> getOnlineUser() {List<String> setUsers = new ArrayList<String>();Collection<String> setUser = wsUserMap.values();for (String u : setUser) {setUsers.add(u);}return setUsers;}/*** 移除連接池中的連接* * @param inbound*/public static boolean removeUser(WebSocket conn) {if (wsUserMap.containsKey(conn)) {wsUserMap.remove(conn); // 移除連接return true;} else {return false;}}/*** 向特定的用戶發送數據* * @param user* @param message*/public static void sendMessageToUser(WebSocket conn, String message) {if (null != conn && null != wsUserMap.get(conn)) {conn.send(message);}}/*** 向所有的用戶發送消息* * @param message*/public static void sendMessageToAll(String message) {Set<WebSocket> keySet = wsUserMap.keySet();synchronized (keySet) {for (WebSocket conn : keySet) {String user = wsUserMap.get(conn);if (user != null) {conn.send(message);}}}}}

3.接下來我們編寫websocket的主程序類

該類用于管理[websocket]的生命周期。該類繼承自WebSocketServer ,這是一個實現了runnable接口的類,他的構造函數需要傳入一個端口,所以我們需要為websocket服務指定一個端口,該類有四個要重載的方法,[onOpen()]方法在連接創建成功以后調用,onClose在連接關閉以后調用,[onError方法]在連接發生錯誤的時候調用(一般連接出錯以后觸發了onError,也會緊接著觸發onClose方法)。

onMessage方法在收到客戶端發來消息的時候觸發。我們可以在這個方法中處理客戶端所傳遞過來的消息。

package com.xdx.websocket;import java.net.InetSocketAddress;import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer;public class WsServer extends WebSocketServer {public WsServer(int port) {super(new InetSocketAddress(port));}public WsServer(InetSocketAddress address) {super(address);}@Overridepublic void onOpen(WebSocket conn, ClientHandshake handshake) {// ws連接的時候觸發的代碼,onOpen中我們不做任何操作}@Overridepublic void onClose(WebSocket conn, int code, String reason, boolean remote) {//斷開連接時候觸發代碼userLeave(conn); System.out.println(reason);}@Overridepublic void onMessage(WebSocket conn, String message) { System.out.println(message);if(null != message &&message.startsWith("online")){String userName=message.replaceFirst("online", message);//用戶名userJoin(conn,userName);//用戶加入}else if(null != message && message.startsWith("offline")){userLeave(conn);}}@Overridepublic void onError(WebSocket conn, Exception ex) {//錯誤時候觸發的代碼System.out.println("on error");ex.printStackTrace();}/*** 去除掉失效的websocket鏈接* @param conn*/private void userLeave(WebSocket conn){WsPool.removeUser(conn);}/*** 將websocket加入用戶池* @param conn* @param userName*/private void userJoin(WebSocket conn,String userName){WsPool.addUser(userName, conn);}}

上述onMessage()方法中,我們接收到客戶端傳過來的一個message(消息),而這個客戶端對應的websocket連接也被當成一個參數一起傳遞過來,我們通過message中攜帶的信息來判定這條信息對應是什么操作,如果是以online開頭,則說明它是一條上線的是信息,我們就把該websocket和其對應的userName存入ws連接池中,如果是以offline開頭,則說明websocket斷開了,我們也沒有必要維護這個websocket對應的map鍵值對,把它去除掉就好了。

4.如何在服務端開啟這個socket呢

我們上面有說到[WsServer](的父類WebSocketServer 實現了一個runnable方法,由此可見我們需要在一個線程中運行這個WsServer,事實上,WebSocketServer 有個start()方法,其源碼如下。

public void start() {if( selectorthread != null )throw new IllegalStateException( getClass().getName() + " can only be started once." );new Thread( this ).start();;}

很顯然,它開了一個線程。所以我們可以用下面這樣的方法來開啟一個websocket線程。(該方法只是針對普通的java項目
,如果是web項目需要在項目啟動的時候運行websocket線程,后面第7點會講)

public static void main(String args[]){WebSocketImpl.DEBUG = false;int port = 8887; // 端口WsServer s = new WsServer(port);s.start();}

我們運行這個main方法,就開啟了websocket的服務端。

到目前為止,我們還沒有編寫任何客戶端的代碼。我們如何測試已經開了websocket服務端呢?網上有一個免費的測試工具。測試地址如下:[http://www.blue-zero.com/WebSocket/]

點擊進去,寫上我們的websocket服務地址。點擊連接。如圖所示。


如果連接成功,他就會顯示“連接已建立,正在等待數據……”

我們再文本框中輸入onlinexdx,然后點回車試試。

這就是模擬客戶端向服務端發送onlinexdx請求,按前面的介紹,它會觸發服務端的onMessage方法,我們看一下服務端控制臺。除了我們希望看到的onlinexdx這個message,還有一些@heart,果然觸發了這個方法。

@heart是這個免費頁面發送過來的心跳檢測包,目的是讓websocket一直處于連接狀態。

5.好了,接下來我們要來完成客戶端部分的功能

我想要實現的是后臺用戶登錄以后,進入到后臺主頁的時候,執行websocket連接工作(就類似于上一步在免費頁面點擊連接按鈕),然后向服務端發送[“online+userName”]這條消息,用以觸發服務端的[onMessage方法,就可以將該[userName加入到連接池了。我們將這些代碼封裝[js])中。

var websocket = ''; var ajaxPageNum = 1; var last_health; var health_timeout = 10; var tDates = [], tData = []; var rightIndex; if ($('body').attr('userName') != '' && $('body').attr('ws') == 'yes') {var userName = $('body').attr('userName');if (window.WebSocket) {websocket = new WebSocket(encodeURI('ws://' + document.domain + ':8887'));websocket.onopen = function() {console.log('已連接');websocket.send("online"+userName);heartbeat_timer = setInterval(function() {keepalive(websocket)}, 60000);};websocket.onerror = function() {console.log('連接發生錯誤');};websocket.onclose = function() {console.log('已經斷開連接');initWs();};// 消息接收websocket.onmessage = function(message) {console.log(message)showNotice("新訂單", "您有新的逸品訂單,請及時處理!")};} else {alert("該瀏覽器不支持下單提醒。<br/>建議使用高版本的瀏覽器,<br/>如 IE10、火狐 、谷歌 、搜狗等");}} var initWs = function() {if (window.WebSocket) {websocket = new WebSocket(encodeURI('ws://' + document.domain + ':8887'));websocket.onopen = function() {console.log('已連接');websocket.send("online"+userName);heartbeat_timer = setInterval(function() {keepalive(websocket)}, 60000);};websocket.onerror = function() {console.log('連接發生錯誤');};websocket.onclose = function() {console.log('已經斷開連接');initWs();};// 消息接收websocket.onmessage = function(message) {console.log(message)showNotice("新訂單", "您有新的逸品訂單,請及時處理!")};} else {alert("該瀏覽器不支持下單提醒。<br/>建議使用高版本的瀏覽器,<br/>如 IE10、火狐 、谷歌 、搜狗等");} } var vadioTimeOut; function showNotice(title, content) {if (!title && !content) {title = "新訂單";content = "您有新的訂單,請及時處理!";}var iconUrl = "http://www.wonyen.com/favicon.ico";$("#myaudio")[0].play();// 消息播放語音var playTime = 1;var audio = document.createElement("myaudio");clearTimeout(vadioTimeOut);audio.addEventListener('ended', function() {vadioTimeOut = setTimeout(function() {playTime = playTime + 1;playTime < 3 ? audio.play() : clearTimeout(vadioTimeOut);}, 500);})if (Notification.permission == "granted") {var notification = new Notification(title, {body : content,icon : iconUrl});notification.onclick = function() {notification.close();};}}// 心跳包 function keepalive(ws) {var time = new Date();if (last_health != -1 && (time.getTime() - last_health > health_timeout)) {// ws.close();} else {if (ws.bufferedAmount == 0) {ws.send('~HC~');}} }

頁面的主要代碼如下。首先是引入上述js.這個js必須放在頁面最后,因為它需要加載完頁面以獲取body的attr。

<!-- websocket --> <script src="./static/js/OtherJs/ws.js" type="text/javascript"></script>

其次是在頁面的body處加入[userName和ws屬性。作為參數傳遞到js里面。還需要加入語音附件。

<body userName=${adminName} ws="yes"> <!-- 消息提示音 --><audio id="myaudio" src="./static/new_order.wav"></audio>

上述js代碼清楚地展示了
在頁面端的生命周期,需要注意的是,我們在onopen()方法中,先是向服務端發送online+userName]
進行上線處理,緊接著開始調用心跳包,避免websocket]
長時間閑置而失效。

[onmessage]方法中,我們處理收到服務端推送過來的消息,然后以語音和彈出窗的形式提醒客戶端。

當然,我們在服務端可以通過封裝[message這個參數,把它變成一個json對象,給這個[json](對象一個[msgType]屬性,這樣就可以根據[msgType的不同來執行不同的前端代碼,比如[msgType=newOrder]_表示有新的訂單,就行新訂單到來的代碼,msgType=newUser表示有新的用戶注冊,就執行新用戶注冊的代碼。

這邊我沒做區分,因為我在服務端只發送用戶購買訂單的消息,所以所有的消息,我都執行showNotice這個方法。

6.最后一步,我們來編寫從服務端向客戶端發送消息的方法。

一旦有訂單到來,我們就向所有的后臺用戶發送消息。我們可以模擬一下這個動作,寫一個[controller]方法,調用[WsPoo的[sendMessageToAll]方法。

@ResponseBody@RequestMapping("sendWs")public String sendWs(String message) {WsPool.sendMessageToAll(message);return message;}

7.對了,如果是web項目

我們還需要在項目啟動的時候開啟websocket服務端線程,可以把啟動的動作放在一個filter中,然后在web.xml里面配置這個filter,使它在項目啟動時候運行。

package com.xdx.filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;import org.java_websocket.WebSocketImpl;import com.xdx.websocket.WsServer;public class StartFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {}public void init(FilterConfig arg0) throws ServletException {this.startWebsocketInstantMsg();}/*** 啟動即時聊天服務*/public void startWebsocketInstantMsg() {WebSocketImpl.DEBUG = false;WsServer s;s = new WsServer(8887);s.start();} }

在web.xml配置。

<!-- filter --><filter><filter-name>startFilter</filter-name><filter-class>com.xdx.filter.StartFilter</filter-class></filter>

至此,我們完成了所有的代碼。

8.測試,先運行起項目。然后登陸以后,進入后臺主頁,可以看到,已經連接成功了。

然后我們從服務端向后臺發送一條消息,執行sendWs這個方法。在瀏覽器輸入http://192.168.1.185:8080/warrior/sendWs?message=xxx


會播放語音,并且彈出提示。證明成功了。

上述只是websocket的一個簡單的應用,在此基礎上,我們還可以做很多擴展的工作,比如做聊天室,股票實時價格顯示等,只要掌握了原理就好做了

總結

以上是生活随笔為你收集整理的架构师讲解Java中websocket的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文视频在线播放 | 婷婷丁香色综合狠狠色 | 福利视频第一页 | 久久一区二区三区四区 | 精品1区二区 | 日韩一区在线播放 | 久久久久国产成人免费精品免费 | www.色婷婷.com | 午夜精品久久久久久久99热影院 | 天天操狠狠操网站 | 高清在线观看av | a在线视频v视频 | 亚洲三级视频 | 9i看片成人免费看片 | 日韩在线第一 | 中文字幕免费在线 | 天天插天天爽 | 国产亚洲欧美在线视频 | 午夜天使 | 国产亚洲在 | 4hu视频| 最新av在线网站 | 亚洲禁18久人片 | 亚洲在线精品视频 | 国产精品九九久久99视频 | 国产高清成人av | 91av福利视频 | 九九热在线视频免费观看 | 综合色综合| 天天躁日日躁狠狠 | 国产玖玖在线 | 亚洲精品一区二区三区高潮 | 天天干天天怕 | 国产精品观看在线亚洲人成网 | 九九av| 天天干天天操天天入 | 国产成人精品一区二区三区免费 | 在线免费观看羞羞视频 | 中文字幕在线观看一区二区三区 | 香蕉影院在线观看 | 人人网av| 国产玖玖精品视频 | 国产做爰视频 | 日韩网站免费观看 | 国产成人精品一区二区三区网站观看 | 日免费视频| 99久久er热在这里只有精品66 | 91x色| 99久久精品日本一区二区免费 | a天堂在线看 | 开心色激情网 | 黄色小网站在线 | 97色综合 | 久久久精品在线观看 | 在线 成人 | 成人免费大片黄在线播放 | 亚洲午夜精品福利 | 国产无遮挡又黄又爽在线观看 | 国产一级二级在线 | 黄色毛片一级 | 91看片淫黄大片在线播放 | 国产午夜av| 婷婷久久久久 | 在线中文字幕观看 | av福利在线| 超碰av在线 | 国产精品久久久久四虎 | 99精品在线视频观看 | 99精品视频网站 | 欧美黄色高清 | av黄网站 | 九九免费精品视频在线观看 | 久久视频国产 | 亚洲精选视频在线 | 日韩欧美xxx | 最近高清中文字幕在线国语5 | 五月婷婷激情五月 | 亚洲精品免费播放 | 一区二区影院 | 97成人精品区在线播放 | 欧洲视频一区 | 久久国产精品一二三区 | 97品白浆高清久久久久久 | 日韩啪啪小视频 | 激情综合网在线观看 | 中文字幕av免费在线观看 | 欧美极品少妇xbxb性爽爽视频 | 色综合天天综合在线视频 | 亚洲三级在线播放 | 婷婷六月中文字幕 | 久久免费观看少妇a级毛片 久久久久成人免费 | 91精品一区二区三区蜜臀 | 超碰在线公开免费 | 国产淫片| 亚洲视频 在线观看 | 国产精品亚洲成人 | 日本久久精 | 国产精品久久久一区二区 | 国产盗摄精品一区二区 | www激情com | 亚洲欧美日韩精品久久奇米一区 | 在线看av的网址 | 久草在线免费看视频 | 人人操日日干 | 中文av不卡| 久久九精品 | 国产中文字幕在线看 | 麻花豆传媒mv在线观看网站 | 欧美日韩一区二区三区不卡 | 久久久久福利视频 | 一级做a爱片性色毛片www | wwwwww黄| 日本中文字幕久久 | 成人三级网址 | 亚洲视频久久久久 | 久久久在线观看 | 69国产精品视频 | 麻豆成人在线观看 | 西西444www | 2019av在线视频| 人人干人人添 | 中文字幕av免费观看 | 亚洲国产免费网站 | 亚洲精品视 | 国产区高清在线 | 欧美成人精品三级在线观看播放 | 免费成人黄色片 | 欧美精品一级视频 | 精品专区一区二区 | www.777奇米 | 久久五月婷婷丁香 | 欧美精品在线一区二区 | 婷婷六月综合网 | 日韩欧美在线综合网 | 美女久久精品 | 成人福利在线播放 | 国产精品少妇 | 久久精品欧美 | 色www免费视频 | 怡春院av | 国产精彩在线视频 | 久久综合婷婷国产二区高清 | 五月激情丁香图片 | 五月婷久久 | 国产精品综合在线 | 欧美日视频 | 91精品国自产拍天天拍 | 人人爽人人搞 | 久久国内视频 | 久草在线99 | 干天天| 久久伊人国产精品 | 成年人电影免费在线观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 五月婷婷视频 | 人人澡人人模 | 毛片网站免费在线观看 | 操操操av| 亚洲日日日 | 国产精品对白一区二区三区 | 一区二区三区免费在线观看 | 久久激情综合网 | 国语久久 | 国产一区久久 | 久久高清免费观看 | 97看片网| 日韩精品91偷拍在线观看 | 免费在线观看视频一区 | 色a网 | 狠狠操狠狠干天天操 | 国产一级黄色av | 国产玖玖在线 | 国产精品电影一区 | 啪啪免费试看 | 人人超碰在线 | 手机在线小视频 | 色91在线视频 | 免费欧美 | 亚洲一区不卡视频 | 久久黄色网址 | aaa亚洲精品一二三区 | 欧美日韩久久久 | 日韩av图片 | 在线国产专区 | 国产福利a | 国产一二区视频 | 久久综合色影院 | 国产欧美在线一区 | 亚洲专区免费观看 | 精品久久久久久久久久岛国gif | 青青色影院 | 亚洲国产精品成人综合 | 特及黄色片 | 久操视频在线播放 | 日韩av电影免费观看 | 久草久草在线观看 | 久久婷婷五月综合色丁香 | 黄色软件网站在线观看 | www,黄视频| 中文字幕 二区 | 激情视频91| 久久久蜜桃一区二区 | 国内精品久久久精品电影院 | 精品视频成人 | 精品视频免费播放 | 色综合咪咪久久网 | 人人爽人人片 | 精品国产电影一区二区 | 探花系列在线 | 视频国产一区二区三区 | 99热官网 | 欧美日韩成人一区 | 欧美午夜理伦三级在线观看 | av千婊在线免费观看 | 久草观看 | 久久久久久久看片 | 2019免费中文字幕 | 欧美日韩91 | 东方av在线免费观看 | 91在线小视频 | 91高清免费 | av超碰免费在线 | 日韩av电影中文字幕 | 中文字幕一区二区三区久久 | www.玖玖玖 | www黄色| 91精品国产综合久久婷婷香蕉 | 精品久久久久久久久久久院品网 | 狠狠色综合欧美激情 | 免费精品视频在线观看 | 久久人人爽人人爽人人片av免费 | 国产99久久精品一区二区300 | 天天草夜夜 | 国产精品日韩欧美一区二区 | 久久久精华网 | 日韩在线高清视频 | 在线观看网站你懂的 | 亚洲精品日韩一区二区电影 | 日日碰夜夜爽 | 中文字幕黄网 | 亚洲国产日本 | 波多野结衣电影久久 | 久草在线视频网站 | 伊人射 | 夜夜视频 | 天天干.com | 日韩在线一区二区免费 | 伊人五月综合 | 黄免费在线观看 | 欧美激情视频在线免费观看 | 欧美日韩18| 亚洲久草在线视频 | 亚洲国产色一区 | 久草在线资源网 | 亚洲午夜精品一区二区三区电影院 | 国产亚洲精品久久久久久久久久 | 国产专区在线视频 | 国产精品女同一区二区三区久久夜 | 91看成人| 久久久午夜精品理论片中文字幕 | 久久免费高清视频 | 欧美亚洲一区二区在线 | 中文字幕日韩在线播放 | 日本99干网 | 99综合电影在线视频 | 国产亚洲精品久久久久久电影 | 欧美aa在线 | 日韩欧美在线免费 | 欧美一区免费观看 | 成人性生交大片免费看中文网站 | 亚洲精品女人 | 亚洲好视频 | 99色资源| 在线播放国产一区二区三区 | 国产在线视频导航 | www.午夜视频| 国产二区电影 | 国产成人在线播放 | 天天曰天天 | 亚洲视频免费视频 | 色婷婷国产 | 色婷婷激情四射 | 欧美 日韩 国产 中文字幕 | www.五月婷婷.com | 欧美一级视频在线观看 | 91成人免费视频 | 欧美在线a视频 | 亚洲国产精品免费 | 国产高清成人在线 | 久久久久久久久电影 | zzijzzij亚洲成熟少妇 | 精品亚洲成人 | 五月花丁香婷婷 | 成人在线小视频 | 欧美另类巨大 | 天天爱天天干天天爽 | 有码中文字幕 | 国产生活一级片 | 天天曰| 午夜影院在线观看18 | 国产在线色视频 | 四虎欧美 | 天天做天天爱天天综合网 | a色视频 | 在线亚洲欧美视频 | 亚州成人av在线 | 国产精品久久久免费看 | 亚洲欧洲精品久久 | 欧美日韩国产一区二区三区在线观看 | 在线观看一区 | 久久免费久久 | 精品国产一二区 | 91在线免费看片 | 在线观看视频中文字幕 | 中文字幕一区二区三区在线播放 | 国产999视频在线观看 | 免费合欢视频成人app | 欧美视频一区二 | 99久久综合国产精品二区 | 欧美精品一区二区在线播放 | 在线小视频国产 | 天天射综合 | 黄色视屏在线免费观看 | 91av99| 欧美日韩xx| 九9热这里真品2 | 亚洲精品国产品国语在线 | 色婷婷狠狠18 | 黄色片网站免费 | 激情丁香综合五月 | 免费看三级 | 天天超碰| 国产黄a三级 | av噜噜噜在线播放 | 在线免费日韩 | 麻豆视频免费播放 | 国内精品久久久久久久久久清纯 | 国产精品久久电影网 | 又污又黄的网站 | 五月婷婷色综合 | 免费看的黄色的网站 | 国产精品123| 97国产情侣爱久久免费观看 | 国产视频综合在线 | 麻豆影视在线播放 | 欧美午夜久久久 | 国产精品69久久久久 | 97精品一区二区三区 | 看av免费| 日韩精品中文字幕在线观看 | 中文字幕在线影视资源 | 日本最大色倩网站www | 日韩av电影国产 | 日日碰狠狠添天天爽超碰97久久 | 狠狠色丁香久久综合网 | 亚洲成 人精品 | 久久综合成人网 | 91免费在线 | 亚洲电影一区二区 | 波多野结衣视频一区二区三区 | 最近中文国产在线视频 | 婷婷综合在线 | 欧美中文字幕第一页 | 国产视频久久久久 | 国产亚洲视频在线观看 | 中文字幕在线视频一区 | 中文字幕一区二区三区视频 | 国产无遮挡又黄又爽馒头漫画 | 国产一区二区播放 | 免费观看午夜视频 | 97香蕉久久国产在线观看 | 91视频大全 | 欧美精品亚洲精品 | 深夜福利视频在线观看 | www久久99| 欧美精品一区二区蜜臀亚洲 | 又大又硬又黄又爽视频在线观看 | 中文字幕日韩在线播放 | 狠狠干狠狠操 | 99视频在线精品 | 九九精品视频在线看 | 日韩亚洲在线观看 | 国产成人精品国内自产拍免费看 | 黄色影院在线观看 | 国产精品1区2区在线观看 | 97综合在线 | 色综合久久88色综合天天人守婷 | 在线观看国产麻豆 | 成人av片在线观看 | 国产成人精品久久久 | 国产高清视频在线播放 | 久久www免费视频 | 日韩av不卡在线播放 | 国产最新精品视频 | 全黄色一级片 | 少妇搡bbbb搡bbb搡忠贞 | 亚洲丝袜一区 | 国产精品久久久久av免费 | www.亚洲在线 | 国产成人三级在线 | 久久手机免费视频 | 久久电影中文字幕视频 | 久久成人国产精品 | 四虎国产精品成人免费4hu | av在线进入 | 日韩精品久久久免费观看夜色 | 在线视频日韩一区 | 在线免费中文字幕 | 四川bbb搡bbb爽爽视频 | 91精品视频一区 | 人人爽人人爽人人爽学生一级 | 久艹在线免费观看 | 香蕉视频在线免费看 | 日韩一二区在线 | 欧美日韩亚洲第一页 | 国语自产偷拍精品视频偷 | 中文字幕成人在线观看 | 久久婷婷五月综合色丁香 | 国产精品毛片网 | 久久久久久久久久久成人 | 亚洲日本欧美在线 | 五月天丁香 | 夜夜躁日日躁狠狠久久av | 午夜久久| 日韩高清一二区 | 国产亚洲精品久久久久久移动网络 | 九九热精品视频在线观看 | 亚洲不卡在线 | 高清不卡一区二区三区 | 国产成人精品一区二区三区在线 | 中国一级特黄毛片大片久久 | 99久久er热在这里只有精品66 | 521色香蕉网站在线观看 | 日韩视频专区 | 五月天激情电影 | 国产在线免费观看 | 久久夜av | 涩涩网站在线播放 | 久久黄色网页 | 成人免费视频在线观看 | 欧美精品生活片 | 国产视频在线观看一区二区 | 欧美电影在线观看 | 久久成人精品视频 | 天天射天天舔天天干 | 91精品国产电影 | 亚洲高清国产视频 | 久久成人综合 | av电影在线观看完整版一区二区 | 免费视频黄色 | 免费在线观看成年人视频 | 91大神精品视频在线观看 | 高清久久久久久 | 激情av资源 | 免费成人av网站 | 日韩精品一区二区三区免费观看 | 欧美福利视频 | 日韩在线观看一区二区三区 | 色婷婷天天干 | 成人性生交大片免费看中文网站 | 久久久亚洲精华液 | 亚洲精品国产精品久久99热 | www.com黄色 | 国产原创av在线 | 成人在线免费观看网站 | 丁香九月婷婷 | 九九精品无码 | 天天草天天操 | 五月婷视频 | www.夜夜操.com | 最新日韩在线 | 男女日麻批 | 97日日碰人人模人人澡分享吧 | 五月婷婷视频在线 | 超碰在线中文字幕 | 久久99视频 | 国产91九色视频 | 欧美精品乱码久久久久久 | 国产欧美综合在线观看 | 三级黄色理论片 | 中文字幕色在线视频 | 黄av免费在线观看 | 欧美综合在线视频 | 久久国产三级 | 国产精品岛国久久久久久久久红粉 | 国产精品观看 | 天天草天天干天天射 | 日本高清久久久 | 亚洲精品18p | 狠狠色丁香婷婷综合欧美 | 亚洲视频在线播放 | 国产精品久久网站 | 成人黄色片在线播放 | 亚洲国产成人精品电影在线观看 | 女人18毛片a级毛片一区二区 | 激情五月看片 | 国产va在线 | 精品久久久久久久久久久久久久久久 | 中文资源在线播放 | 日韩高清 一区 | 国产这里只有精品 | 麻豆视频在线播放 | 亚洲黄色高清 | 6080yy精品一区二区三区 | 免费在线a | 国产精品美女久久久久久久久久久 | 亚洲精品国 | 91香蕉视频污在线 | 公与妇乱理三级xxx 在线观看视频在线观看 | 一区二区三区高清在线观看 | 999热视频| 国产不卡在线视频 | 91在线免费观看网站 | 在线中文视频 | 中文字幕av专区 | 日韩一二三在线 | 国产精品网站 | 99理论片 | a黄色片| 成人中文字幕+乱码+中文字幕 | 波多野结衣在线视频一区 | 中文字幕资源在线观看 | 色av资源网 | 狠狠做深爱婷婷综合一区 | 久久久久久久久久久久久久免费看 | 国产一级做a | 免费看的黄色 | 久久99久久久久久 | 不卡电影免费在线播放一区 | 亚洲精品视频久久 | 91香蕉视频色版 | 美女天天操 | 91丨九色丨蝌蚪丨老版 | 久久久久国产成人精品亚洲午夜 | 97超碰国产精品 | 日韩视频一区二区三区在线播放免费观看 | 欧美精品久久久 | 69亚洲乱| 中文字幕日韩精品有码视频 | 韩国av在线播放 | www免费看 | 天天干夜夜爱 | 日韩艹 | 久久久这里有精品 | 久久久久观看 | 中文字幕国产 | 粉嫩av一区二区三区入口 | 综合色久 | 国产又粗又猛又爽 | 欧美一二区视频 | 亚洲精选在线 | 久久激情精品 | 在线观看黄网 | 国产一区二区免费看 | 精品99999 | 天天曰天天曰 | 免费视频一二三区 | a'aaa级片在线观看 | 国产一区黄色 | 91精品视频免费观看 | 亚洲国产日韩一区 | 日韩在线视 | 在线你懂 | 久久国产精品久久久久 | 九九激情视频 | av资源免费在线观看 | 国产一级黄色免费看 | 97人人添人澡人人爽超碰动图 | 日韩v欧美v日本v亚洲v国产v | 又黄又爽又刺激视频 | 91网在线观看 | 91九色porny在线 | 免费视频你懂得 | 欧美日高清视频 | 国产精品自拍av | 久久中文精品视频 | 97视频中文字幕 | 亚洲国产精品视频在线观看 | 欧美视频www | 久久伊人国产精品 | 亚洲欧美一区二区三区孕妇写真 | 黄色三级免费网址 | 国产视频在线观看一区 | 日韩三区在线 | 少妇18xxxx性xxxx片 | 免费在线观看视频一区 | 黄色在线免费观看网站 | 久久精品韩国 | 国产一区二区三区久久久 | 亚洲亚洲精品在线观看 | 奇米777777 | 日日干天天 | jizzjizzjizz亚洲 | 91最新在线 | 国产精品岛国久久久久久久久红粉 | 亚洲在线视频免费 | 五月婷婷激情 | 亚洲一区二区三区四区精品 | 成人黄色在线 | 久久久国产精品一区二区中文 | 免费色网 | 亚洲伦理中文字幕 | 韩日成人av | 最近免费中文字幕mv在线视频3 | 欧美日韩精品在线观看视频 | 91香蕉视频在线 | 中文综合在线 | 亚洲天天做 | 国产精品青草综合久久久久99 | 99视频在线观看免费 | 成年人视频在线免费播放 | 日韩网站免费观看 | 特级毛片aaa | 日本精品免费看 | 成人免费在线看片 | 精品国产伦一区二区三区观看说明 | 色网站在线 | 成人福利在线 | 五月婷在线| 91.精品高清在线观看 | 国产91免费在线 | 亚洲精品资源 | 国产日产精品一区二区三区四区 | 天天摸日日摸人人看 | 久久免费一 | 91亚洲欧美激情 | 久久久久电影 | av丝袜在线| 激情五月婷婷综合 | 国产视频在线免费 | 天天操天天摸天天射 | www国产亚洲精品 | 色欲综合视频天天天 | 91色国产在线 | 亚洲一区二区高潮无套美女 | 久久综合五月天婷婷伊人 | 91一区在线观看 | 亚洲区另类春色综合小说 | 91在线麻豆 | 91在线日韩 | 中文字幕视频播放 | 国产精品久久久久久久久软件 | 成人国产精品久久久春色 | 欧美动漫一区二区三区 | 伊人网综合在线观看 | 日韩欧三级 | av短片在线观看 | 日韩r级在线 | 香蕉网在线播放 | 亚洲一区二区三区四区在线视频 | 精品免费视频 | 天天干一干 | 久久精品99国产精品酒店日本 | 亚洲色图 校园春色 | 2024国产精品视频 | 国产免费av一区二区三区 | 欧美午夜a| 99久热精品| 国产成人专区 | 久久久久久久久久久免费 | 久久av一区二区三区亚洲 | 日韩毛片精品 | 日韩福利在线观看 | www.久草视频 | 国产涩图 | 国产精品欧美精品 | 97色国产| 91看片成人| 国产中文字幕av | 久久精品黄 | 久久这里只有精品23 | 视频一区视频二区在线观看 | 四虎在线永久免费观看 | 在线播放av网址 | 精品亚洲午夜久久久久91 | 91粉色视频| 国产一区精品在线 | 精品乱码一区二区三四区 | 国产黄色av影视 | 99爱这里只有精品 | 国产小视频精品 | 日韩欧美一区二区三区视频 | 欧美极度另类 | 在线免费观看黄色小说 | 黄色电影在线免费观看 | 日韩高清久久 | 91在线精品秘密一区二区 | 激情狠狠干 | 久 久久影院| 日韩免费不卡av | a资源在线 | 国产成人在线播放 | 中文字幕在线日本 | 精品国自产在线观看 | 99视频在线免费播放 | 日韩精品一区二区三区水蜜桃 | 综合伊人av | 国产一级黄 | 久久草草热国产精品直播 | 九九综合久久 | 在线亚洲欧美视频 | 成人黄色电影在线观看 | 久久久久久久久久久高潮一区二区 | 久久午夜精品 | 99精品视频99 | 日韩网站免费观看 | 国产精品18久久久久白浆 | 久久99亚洲精品 | 又黄又刺激的网站 | 欧美性成人 | 在线观看aaa| 亚洲视频在线视频 | 日韩中文字幕在线观看 | 一区二区三区四区五区在线 | 视频在线播放国产 | 99麻豆视频 | 日韩一区二区三区在线观看 | 国产91九色蝌蚪 | 国产亚洲精品女人久久久久久 | 久久电影中文字幕视频 | 国产高清在线观看av | 亚洲永久在线 | 深爱激情五月网 | 久久免费福利视频 | 亚洲成人午夜在线 | 国产精品嫩草影院123 | 天天做天天爱夜夜爽 | 精品婷婷| 色婷婷视频在线 | 久久久久久久久久网站 | 久久在线 | 久久,天天综合 | 国内偷拍精品视频 | 久久久夜色 | 黄色中文字幕 | 日韩免费在线 | 精品国产一区二区三区久久久 | av在线播放观看 | 亚洲一区日韩在线 | 国产成人精品免高潮在线观看 | 91大神电影 | 人人干天天射 | 免费在线国产 | 久久久久久久久免费视频 | 美女视频久久黄 | 18岁免费看片 | 一区二区理论片 | 在线小视频你懂的 | 在线婷婷 | 精品国产成人在线 | 亚洲人在线7777777精品 | 久久久噜噜噜久久久 | 久草影视在线观看 | 欧美一二区在线 | 啪啪av在线| 91av原创 | 在线黄色av | 婷婷激情在线观看 | 国产亚洲无 | 久久免费99精品久久久久久 | 2018精品视频| 国产亚洲精品中文字幕 | 日日噜噜噜噜夜夜爽亚洲精品 | 日韩一区二区三区免费电影 | 17婷婷久久www | 国产精品欧美日韩 | 99久久er热在这里只有精品66 | 在线免费观看国产视频 | 精品国产aⅴ麻豆 | 国产精品大片 | 国产手机视频在线观看 | 日本成人免费在线观看 | 国产免费中文字幕 | 在线 国产一区 | 国产精品久久久久av免费 | 欧美日韩一区二区三区免费视频 | 国产精品亚 | 人人干97 | 中文字幕久久精品亚洲乱码 | 国产精品普通话 | 国产九色视频在线观看 | 久久精品免费电影 | 欧美精品在线免费 | jizz999| 99在线精品视频 | 中文字幕一区二区三区在线播放 | 久久免费国产精品 | 91丨九色丨国产女 | 久艹视频免费观看 | 日韩av免费一区 | 久久精品欧美视频 | 福利电影一区二区 | 2021久久| 麻豆传媒在线免费看 | 日韩精品专区在线影院重磅 | 久久国产午夜精品理论片最新版本 | 国产精品一区二区 91 | 欧美日韩视频 | 99精品热| 狠狠的日 | 国产高清在线免费视频 | 久久一久久 | 91精品视频在线免费观看 | 91精品国产网站 | 国产精品99精品久久免费 | 在线免费视 | 色香蕉在线视频 | 中文字幕一区二区三区四区视频 | 91中文字幕在线播放 | 五月婷婷激情 | 手机在线永久免费观看av片 | 亚洲精品在线视频网站 | 国产一区二区高清 | 99热这里有 | 日韩中文字幕亚洲一区二区va在线 | 成人黄色电影在线观看 | 国产视频黄 | 久久96国产精品久久99漫画 | 中文字幕高清在线播放 | 久久久久久高潮国产精品视 | 中文字幕av在线播放 | 国产精品一区在线观看你懂的 | 最近最新中文字幕 | 91精品国产综合久久福利 | 欧美日韩免费观看一区=区三区 | 日韩中文字幕免费看 | 久久特级毛片 | 97免费中文视频在线观看 | 超碰精品在线观看 | 免费视频一区二区 | 精品一区二区精品 | 99婷婷| 欧美一级视频免费 | 久久国产精品久久w女人spa | 欧美成人理伦片 | 日韩欧美精品在线观看视频 | 精品99视频 | 国内精品久久久久影院优 | 久久综合给合久久狠狠色 | 国产精品一区二区三区在线免费观看 | 国产视频二 | 婷婷色站 | 热99久久精品 | 91视频免费网址 | 亚洲精品一区二区三区在线观看 | 婷婷新五月 | 九色自拍视频 | 亚洲欧美国产视频 | 久久99免费| 天天操夜夜操国产精品 | 国产综合婷婷 | 中文字幕一二 | 久久久久国产精品午夜一区 | 免费在线成人 | 激情av综合 | 日韩av电影中文字幕 | 99热精品国产一区二区在线观看 | 啪啪激情网 | 91自拍视频在线 | 成人毛片网 | 日本久久久久 | 激情五月婷婷综合 | 亚洲 欧美日韩 国产 中文 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 一区二区三区高清在线观看 | 欧美在线一二区 | 国产超碰在线观看 | 日韩av电影免费在线观看 | 亚洲高清在线观看视频 | 免费高清在线观看成人 | 国产69久久久欧美一级 | 成人av一区二区在线观看 | 日韩av在线看 | 高清av免费看 | 久久99久久99精品免观看粉嫩 | 久久高视频 | 久久久影片 | 午夜国产一区二区 | 在线免费观看欧美日韩 | 在线视频一区观看 | 免费在线观看av的网站 | 激情导航 | 欧美午夜一区二区福利视频 | 久久成人免费视频 | 深爱激情综合网 | 天天操天天射天天 | 99久久www| 国内成人精品视频 | 国产精品国产三级国产专区53 | 国产精品99精品久久免费 | 在线观看视频黄 | 在线免费视频a | 国产高清在线永久 | 国产精品18久久久久久首页狼 | 在线视频免费观看 | 国产精品一区二区视频 | 欧美精品一二三 | 中文字幕在线观看2018 | 成年人在线观看视频免费 | 四虎影视4hu4虎成人 | 夜色资源站国产www在线视频 | 99精品视频在线播放观看 | 国产精品一区二区三区观看 | 人人干狠狠操 | 91人人爽久久涩噜噜噜 | 久久大片 | 亚洲国产精品日韩 | 激情欧美一区二区三区免费看 | 92精品国产成人观看免费 | av免费看在线 | 久久av中文字幕片 | 久在线观看视频 | 日韩美女黄色片 | 一区二区三区不卡在线 | 久久成人国产精品 | 亚洲成a人片77777kkkk1在线观看 | 久久成人国产精品一区二区 | 日本大尺码专区mv | 欧美一级特黄aaaaaa大片在线观看 | 国产成人福利在线 | 色www精品视频在线观看 | 久久性生活片 | 亚洲女同ⅹxx女同tv | 九九九九九九精品 | 91看片淫黄大片在线播放 | 国产剧情av在线播放 | 在线а√天堂中文官网 | 国产一卡在线 | 色综合久久88色综合天天 | 成人黄色av免费在线观看 | 超碰97人人在线 | 亚洲电影毛片 | 嫩草av影院 | 久久久久久久久毛片 | 在线观看www.| 亚洲狠狠丁香婷婷综合久久久 | 久久字幕精品一区 | 992tv在线成人免费观看 | 奇米影视777四色米奇影院 | 日韩高清免费观看 | 91精品爽啪蜜夜国产在线播放 | 国产资源中文字幕 | 插久久| 在线精品在线 | 日日日干 | 少妇av片 | 国产精品免费观看在线 | 国内久久看 | 久要激情网 | 十八岁免进欧美 | 久久综合中文字幕 | 99久久99久久综合 | 超碰在线人人97 | 中文字幕日韩一区二区三区不卡 | 日韩资源在线观看 | 韩国av免费观看 | 欧美激情操| 这里只有精品视频在线 | 综合久久一本 | 亚洲国产最新 | 日韩欧美精品在线 | 四月婷婷在线观看 | 色爱区综合激月婷婷 | 在线免费观看视频一区 | 免费三级黄色 | 青青草国产精品视频 | 欧美精品久久 | 国产999精品 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 久久久久久久久久久国产精品 | 久久草av | 99精彩视频| 亚洲日b视频 | 天无日天天操天天干 | 91亚洲成人 | 在线免费观看一区二区三区 | av大全在线观看 | 深爱激情综合 | 国产精品中文 | 91麻豆精品国产91久久久无限制版 | 黄色国产高清 | 西西人体4444www高清视频 | 久久av免费| 欧美精品在线视频观看 | 99久久99视频 | 黄色成人小视频 | 中文在线最新版天堂 | 久草av在线播放 | 狠狠色噜噜狠狠狠合久 | 天天干天天天天 | 国产精品av在线 | 日韩欧美视频免费在线观看 | 久草在线视频资源 | 看国产黄色片 | 亚洲精品视频在线观看网站 | 99麻豆久久久国产精品免费 | 国产成人精品aaa | 国产96av|