久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

使用springboot整合websocket實(shí)現(xiàn)群聊教程

瀏覽:4日期:2023-12-12 18:12:56
目錄先上效果圖:先來準(zhǔn)備工作導(dǎo)入依賴導(dǎo)入依賴后掃描啟用接收前端傳回?cái)?shù)據(jù)其中重點(diǎn)就是4個(gè)注解**@OnOpen,@OnClose,@OnMessage,@OnError**前端頁面代碼模板引擎代碼如下最后效果圖如下

使用springboot整合websocket實(shí)現(xiàn)群聊教程

先上效果圖:

使用springboot整合websocket實(shí)現(xiàn)群聊教程

相對來說更好看那么一點(diǎn)但是,實(shí)現(xiàn)代碼都是一樣的。

先來準(zhǔn)備工作導(dǎo)入依賴

<!--websocket依賴--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></dependency>

其實(shí)springboot已經(jīng)內(nèi)置了,直接在主函數(shù)啟動(dòng)就行。但我們這次就講這個(gè)。

導(dǎo)入依賴后掃描啟用

package com.nx.study.springstudy.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard.ServerEndpointExporter;@Configurationpublic class WS { @Bean public ServerEndpointExporter serverEndpointExporter(){return new ServerEndpointExporter(); }}

**@ServerEndpoint('/websocket/{username}')**

接收前端傳回?cái)?shù)據(jù)

@Component啟用

package com.nx.study.springstudy.bean;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JsonMappingException;import com.fasterxml.jackson.databind.ObjectMapper;import net.sf.json.JSONObject;import org.springframework.stereotype.Component;import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import javax.websocket.*;import javax.websocket.server.PathParam;import javax.websocket.server.ServerEndpoint;import java.util.*;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.CopyOnWriteArraySet;@ServerEndpoint('/websocket/{username}')@Componentpublic class Myws { private static Map<String, Myws> webSocketSet = new ConcurrentHashMap<String, Myws>(); private static Map<String, Session> map = new HashMap<String, Session>(); private static List<String> namelist = new ArrayList<String>(); private static JSONObject jsonObject = new JSONObject(); private static JSONObject jsonObject2 = new JSONObject(); private static List<String> nm_msg = new ArrayList<String>(); private SocketMsg socketMsg; private Session session; private String name; @OnOpen public void onpen(Session session, @PathParam(value = 'username') String username){if(username == null){ username = '游客';}this.session = session; //this.name = '南' + getname();this.name = username;webSocketSet.put(name, this);map.put(username, session);namelist.clear(); // 清空原來的信息setonlion();jsonObject.put('onlinepp', namelist);String message = jsonObject.toString();broadcast2(message); } @OnClose public void onclose(){webSocketSet.remove(this.name); // 移除對象namelist.clear();setonlion();jsonObject.clear();jsonObject.put('onlinepp', namelist);String message = jsonObject.toString();broadcast3(message); } @OnMessage public void onmessage(String message){nm_msg.clear();jsonObject2.clear();nm_msg.add(name);nm_msg.add(message);jsonObject2.put('chat', nm_msg);String message2 = jsonObject2.toString(); broadcast(message2); } @OnError public void onError(Session session, Throwable error) {System.out.println('發(fā)生錯(cuò)誤');error.printStackTrace(); } public void broadcast(String message){for (Map.Entry<String, Myws> item : webSocketSet.entrySet()){ item.getValue().session.getAsyncRemote().sendText(message);} } public void broadcast2(String message){for (Map.Entry<String, Myws> item : webSocketSet.entrySet()){ item.getValue().session.getAsyncRemote().sendText(message);} } public void broadcast3(String message){for (Map.Entry<String, Myws> item : webSocketSet.entrySet()){ if (!item.getKey().equals(name)){item.getValue().session.getAsyncRemote().sendText(message); }} } public void setonlion(){for (Map.Entry<String, Myws> item : webSocketSet.entrySet()){namelist.add(item.getKey());} } public String getname() {String linkNo = '';// 用字符數(shù)組的方式隨機(jī)String model = '小大天明畫美麗豪子余多少浩然兄弟朋友美韻紫萱好人壞蛋誤解不要停棲棲遑遑可';char[] m = model.toCharArray();for (int j = 0; j < 2; j++) { char c = m[(int) (Math.random() * 36)]; // 保證六位隨機(jī)數(shù)之間沒有重復(fù)的 if (linkNo.contains(String.valueOf(c))) {j--;continue; } linkNo = linkNo + c;}return linkNo; }}其中重點(diǎn)就是4個(gè)注解**@OnOpen,@OnClose,@OnMessage,@OnError** @OnOpen–>客戶端打開鏈接時(shí)候觸發(fā)執(zhí)行 @OnClose–>客戶端關(guān)閉鏈接觸發(fā)執(zhí)行 @OnMessage–>客戶端發(fā)送信息觸發(fā)執(zhí)行 @OnError–>發(fā)送錯(cuò)誤時(shí)候觸發(fā)執(zhí)行

對象信息都儲(chǔ)存在Session,可以仔細(xì)看看上面代碼很好理解。

我們只需要理解這4個(gè)注解的作用就可以!

前端頁面代碼

<!DOCTYPE html><html lang='en' xmlns:th='http://www.thymeleaf.org'><head> <link rel='icon' type='image/x-icon' th:href='http://www.gepszalag.com/bcjs/@{/img/user/head/favicon.ico}' /> <script th:src='http://www.gepszalag.com/bcjs/@{webjars/jquery/3.1.1/jquery.min.js}'></script> <script th:src='http://www.gepszalag.com/bcjs/@{webjars/bootstrap/3.3.7/js/bootstrap.min.js}'></script> <link rel='stylesheet' th:href='http://www.gepszalag.com/bcjs/@{webjars/bootstrap/3.3.7/css/bootstrap.min.css}' /> <link th:href='http://www.gepszalag.com/bcjs/@{/css/home.css}' rel='stylesheet' type='text/css' /> <meta charset='UTF-8'> <title>在線聊天室</title></head><body><div class='container-fluid'> <div style='width: 100%;height: 100px;text-align: center;margin-bottom: 30px;color: #495e6a;box-shadow: 0px 0px 10px #000000'><br><h1>文明用語,快樂你我他</h1> </div> <div style='width: 800px;height: 600px;margin: auto;background-color: #dce9f6;box-shadow: 0px 0px 10px #707074;display: flex'><div style='width: 200px;height: 600px;background-color: #d4d1d1'> <div style='width: 160px;height: 40px;margin: auto;margin-top: 10px;background-color: #fdffff;text-align: center;box-shadow: 0px 0px 10px #474749;border-radius: 4px'><span style='font-size: 30px;padding-top: 2px;padding-bottom: 2px'></span><span style='font-size: 30px'>群聊</span> </div> <div style='width: 160px;height: 40px;margin: auto;margin-top: 10px;background-color: #fdffff;text-align: center;box-shadow: 0px 0px 10px #474749;border-radius: 4px'><span style='font-size: 30px;padding-top: 2px;padding-bottom: 2px'></span><span th:text='${Springuser.username}'>游客</span> </div> <hr> <div style='width: 200px;height: 500px;word-break: break-word;overflow: auto'> </div></div><div style='width: 600px;height: 600px'> <div id='message'> </div> <div style='width: 600px;height: 100px;background-color: #ddf1d7;display: flex'><div style='width: 100px;height: 100px;text-align: center;background-color: #f5d2d2'> <button style='margin-top: 5px'>連接上線</button><br> <br> <button class='btn btn-danger'>下線</button></div><div class='input-group'> <input type='text' placeholder='在這里輸入想說的話吧!' /><br> <button style='margin-top: 10px;float: right'>發(fā)送消息</button></div> </div></div> </div> <div style='margin-top: 30px;background-color: #ffffff'><br><br><a href='http://www.gepszalag.com/bcjs/20852.html#'><span style='color: #000000;'>關(guān)于我們</span></a>&nbsp;|&nbsp;<a href='mailto: 2251798294@qq.com' style='color: #000000;'>找我合作</a><br><a style='color: #202223;'>贛ICP備2021004042號(hào)</a> </div></div></body><script th:inline='javascript' language=’javascript’> $(document).ready(function(){var select;var message = '';var fromuser = '';var touser = '';var type = 0;var username = [[${Springuser.username}]];var websocket = null;$('#btn1').click(function(){ //判斷當(dāng)前瀏覽器是否支持WebSocket if(select === 1){alert('你已連接上線路,無需重復(fù)連接!') }else {if (’WebSocket’in window) { websocket = new WebSocket('ws://wenhaosuper.top:8000/websocket/' + username); alert('歡迎-->' + username + '<--成功上線!'); select = 1;} else { alert(’Not support websocket’)} } //連接發(fā)生錯(cuò)誤的回調(diào)方法 websocket.onerror = function() {alert('錯(cuò)誤'); }; //連接成功建立的回調(diào)方法 websocket.onopen = function() { } //接收到消息的回調(diào)方法 websocket.onmessage = function(event) {var msg = event.datavar obj = JSON.parse(msg);var zxname = obj.onlinepp;var chat = obj.chat;if (zxname != null){ onlinename(zxname);}if (chat != null){ setchat(chat);} } //連接關(guān)閉的回調(diào)方法 websocket.onclose = function() {alert('離開');select = 2;$('#online').empty(); } //監(jiān)聽窗口關(guān)閉事件,當(dāng)窗口關(guān)閉時(shí),主動(dòng)去關(guān)閉websocket連接,防止連接還沒斷開就關(guān)閉窗口,server端會(huì)拋異常。 window.onbeforeunload = function() {websocket.onclose;websocket.close(); }});//將消息顯示在網(wǎng)頁上function setchat(message) { $('<div style='width: 560px;min-height: 40px;display: flex;margin-bottom: 20px'>n' +' <div style='width: 40px;height: 40px;background-color: #ffffff;text-align: center;border-radius: 20px'>n' +'<span style='font-size: 28px;margin-top: 9px'><strong>N</strong></span>n' +' </div>n' +' <div style='min-height: 40px;margin-left: 10px'>n' +'<div style='height: 18px'>n' +' <span style='color: #7f7777;font-size: 14px'>'+message[0]+'</span>n' +'</div>n' +'<div style='min-height: 20px;word-break: break-word;background-color: #ffffff;padding: 10px 10px 10px 10px;border-radius: 6px'>n' +' <span>'+message[1]+'</span>n' +'</div>n' +' </div>n' +'</div>').appendTo('#message');}function onlinename(obj){ $('#online').empty(); obj.forEach(function (e){$('<div style='width: 160px;height: 40px;margin: auto;margin-top: 10px;background-color: #fdffff;text-align: center;box-shadow: 0px 0px 10px #474749;border-radius: 4px;overflow: hidden'>n' + '<span style='font-size: 30px;padding-top: 2px;padding-bottom: 2px'></span>n' + '<span style='font-size: 26px'>'+e+'</span>n' + ' </div>').appendTo('#online'); });}$('#btn2').click(function(){ websocket.close();});//發(fā)送消息$('#btn3').click(function(){ var message = $('#msg').val(); websocket.send(message); $('#msg').val('');}); });</script></html>

因?yàn)槲疫@個(gè)是springboot項(xiàng)目

模板引擎代碼如下

package com.nx.study.springstudy.controller;import com.nx.study.springstudy.bean.UserPostForm;import com.nx.study.springstudy.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;@Controllerpublic class WebSocketController { @Autowired private UserService userService; @RequestMapping('/websocket') public String webSocket(Model model, HttpServletRequest request){HttpSession httpSession = request.getSession();String username = (String) request.getSession().getAttribute('username');String userpassword = (String) request.getSession().getAttribute('userpassword');if (username != null){ UserPostForm Springuser = userService.query(username,userpassword); model.addAttribute('Springuser', Springuser); return 'index/webSocket';}else { return 'index/ZGZG';} }}最后效果圖如下

使用springboot整合websocket實(shí)現(xiàn)群聊教程

使用springboot整合websocket實(shí)現(xiàn)群聊教程

以上就是使用springboot整合websocket實(shí)現(xiàn)群聊教程的詳細(xì)內(nèi)容,更多關(guān)于springboot整合websocket實(shí)現(xiàn)群聊的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 夜夜视频 | 成人高清在线观看 | 国产综合99 | 午夜理伦三级 | 国产在线精品一区二区 | 午夜免费福利视频 | 日韩av入口 | 午夜午夜精品一区二区三区文 | 亚洲第一av | 欧美aaa大片 | 久久久国产一区二区三区 | 成人毛片视频网站 | 新疆少妇videos高潮 | 成人在线免费视频 | 欧美日韩久久精品 | 躁躁躁日躁夜夜躁 | 欧美在线一区二区 | 亚洲精品乱码久久久久久麻豆不卡 | 日韩在线免费 | 午夜男人的天堂 | 毛片真人毛毛片毛片 | 在线观看日韩 | 91精品久久久久久久 | 精品www | 伊人欧美视频 | 亚洲高清在线观看 | 在线免费视频一区二区 | 亚洲一区中文字幕永久在线 | 精品亚洲国产成av人片传媒 | 青青草一区| 成人日批| 日韩在线精品 | 久久青| 欧美久久精品 | 日本视频中文字幕 | 久久精品亚洲精品 | 国产黄色av| 99热最新网站 | 欧美成人高清视频 | 成人免费在线网址 | 中文字幕国产视频 | 欧美精品导航 | 黄色网址av| 成年免费视频 | 亚洲国产精品久久人人爱 | 久久成人免费视频 | 欧美黑人一区 | 久久久国产一区二区三区 | 精品一区二区久久 | 精品国产不卡一区二区三区 | 久久久精品日本 | 综合久久综合 | 欧美一区二区在线播放 | 中文字幕视频在线 | 日韩视频免费 | 国内自拍视频在线观看 | 久久精品国产免费 | 啵啵羞羞影院 | 日韩爱爱免费视频 | 欧美日韩精品一区二区在线播放 | 国产精品久久久久aaaa九色 | 欧美在线亚洲 | 欧美视频一级 | 中文字幕在线永久在线视频 | 91久草视频 | 天天操狠狠操 | 欧美成人一区二区三区片免费 | 亚洲成人免费在线 | 国产一区二区在线视频 | 精品九九| 女同理伦片在线观看禁男之园 | 日韩三级视频 | 亚洲欧美一区二区三区在线 | 国产v日产∨综合v精品视频 | 日本a v在线播放 | 欧美激情专区 | 欧洲另类在线1 | 在线欧美亚洲 | 欧美aaaaa| 在线观看国产 | 免费在线黄 | 久草热8精品视频在线观看 亚洲区在线 | 日韩av一区在线 | 国产探花| 成人免费看片 | 免费av电影观看 | 亚洲精品第一页 | 国产在线精品一区 | 四虎久久精品 | 亚州国产精品 | 国产精品欧美久久久久一区二区 | 欧美国产一区二区三区 | 亚洲一区在线观看视频 | 成人激情视频在线播放 | 欧美在线激情 | 亚洲精品影院在线 | 91在线看片 | 99精品视频在线 | 天天操免费 | 亚洲久久视频 | 日韩在线成人 | 一级毛片国产 | 国产精品高清在线观看 | 欧美一区二区三区国产精品 | 国产精品成人免费视频 | 日韩成人一区二区 | 91免费电影 | 亚洲精品亚洲人成人网 | 国产99免费 | 国产三级电影 | 日韩一区中文字幕 | 欧美理论片在线观看 | 黄色在线观看网址 | 久在线视频播放免费视频 | 精品国产一区二区三区性色 | 男女羞羞羞视频午夜视频 | 久久精品久久久久久 | 亚洲黄色a级 | av在线播放免费 | 荷兰欧美一级毛片 | 国产日韩精品在线观看 | 一本色道久久综合狠狠躁篇的优点 | 免费观看国产精品 | 四虎精品在线 | 精品久久久久久久久久久院品网 | 久久久久久国产 | 五月婷婷综合激情网 | 精品国产不卡一区二区三区 | 日韩在线免费观看网站 | 激情久久av一区av二区av三区 | 欧美一级视频 | 国产精品久久久久久久久久免费看 | 91丨九色丨国产在线 | 尤物视频在线观看 | 成人午夜sm精品久久久久久久 | 亚洲视频在线观看 | 成人免费视频网站在线观看 | 成人在线黄色 | 国产精品久久久久久中文字 | 国产精品1区2区3区 欧美 中文字幕 | 日韩一区二区不卡 | 中文字幕一区二区三区日韩精品 | 人人干天天干 | 天天操网| 天天干狠狠干 | 91久久久久久久久久久久久久久久 | 国产乱码精品一区二区三区忘忧草 | 国产精品久久久久毛片软件 | 亚洲 中文 欧美 日韩在线观看 | 久久中文视频 | 精品国产精品国产偷麻豆 | 免费成人在线视频网站 | 国产一区二区三区免费观看 | 在线看91 | 亚洲精品福利视频 | 亚洲精品国产综合 | 99精品国产高清一区二区麻豆 | 91视频在线观看 | 成人黄色短视频在线观看 | 日本在线观看 | 色一情一乱一伦一区二区三区 | 你懂的在线视频播放 | 欧美成人免费在线视频 | 黄色大片在线播放 | 久久精品99 | 欧美精品影院 | 国产成人免费视频网站视频社区 | 国产欧美日韩综合精品一区二区 | 成人免费网站在线观看 | 欧美日韩一区二区中文字幕 | 亚洲综合天堂网 | 中文字幕欧美在线 | 国产在线高清 | 欧美日韩精品亚洲 | 精品国产乱码久久久久久1区2区 | 成人欧美一区二区 | 欧美日韩一区在线 | 伦理午夜电影免费观看 | 国产午夜精品视频 | 91精品综合久久久久久五月天 | 亚洲国产成人精品久久 | 一区不卡| 欧美一区二区三区在线 | 久久久免费视频看看 | 久久久久久国产免费视网址 | 久久夜夜| 波多野结衣一区在线观看 | 国产一级免费在线 | 成人免费大片黄在线播放 | 一区二区在线视频 | 日韩欧美专区 | 国产精品久久久久久久福利院 | 国产精品日韩一区二区 | 精品视频久久 | 在线精品亚洲欧美日韩国产 | 日韩午夜电影在线观看 | 欧美一区二区三区精品 | 黑人巨大精品欧美一区二区小视频 | 中文字幕一区二区三区精彩视频 | 免费看国产一级特黄aaaa大片 | 久久精品视频一区 | 国产一区二区观看 | 国产精品乱码人人做人人爱 | 蜜桃comaaa | 91免费小视频 | 在线中文av | 亚洲精区 | 91在线视频播放 | 在线观看国精产品二区1819 | 国产丝袜人妖ts黄檬 | 国产综合视频在线播放 | 涩涩视频在线 | 国产最好的精华液网站 | 亚洲欧洲精品视频在线观看 | 中国一级免费毛片 | 久久久性色精品国产免费观看 | 国产精品一区二区在线观看 | 久久9999 | 欧洲成人在线视频 | 国产真实乱全部视频 | 亚洲精品免费视频 | 欧美日韩一区二区三区四区 | 日韩毛片在线视频 | 久草在线高清 | 日韩国产一区二区 | av在线免费播放 | 成人亚洲电影 | 亚洲成人一区二区 | 欧美日韩国产一区二区三区 | 亚洲经典视频在线观看 | 亚洲精品国品乱码久久久久 | 欧美一级片在线 | 一区二区三区四区在线 | 免费成人av网| 欧美日韩在线二区 | 91麻豆视频| 成人av片在线观看 | 欧美日韩在线第一页 | 99精品热 | 亚洲热在线视频 | 欧美性猛交一区二区三区精品 | 一区久久 | 免费黄色小视频 | 日韩视频在线免费观看 | 欧美日韩中文字幕在线 | 日本在线观看一区 | 久久精品亚洲精品 | 完全免费av | www.操.com | 99国产精品久久久久久久久久 | 最新超碰 | 久久久久久久99 | 日本久久网站 | www.久久精品 | 成人欧美一区二区三区白人 | 欧美日日 | 国产精品一区二区精品 | 久色 | av成人免费 | av成人免费 | 国产欧美日韩精品在线 | 久久国产精品一区二区三区 | 日日综合| 国产精品25p | 欧美一级一 | 久久久.com | 日韩成年视频 | 欧美日韩视频第一页 | 日韩在线观看视频一区二区三区 | 亚洲男人av | 亚洲精品久久久久久久久久久 | 一区二区三区免费网站 | 五月婷婷导航 | 久久精品国产清自在天天线 | 国产精品久久久久精 | 福利精品视频 | 亚洲国产高清在线 | 色婷婷欧美 | 精品日韩在线 | 久久久久久久久久久亚洲 | 久久亚洲网 | 午夜精品一区二区三区在线视频 | 夜夜操导航 | 日韩成人av在线 | 欧美日韩成人在线 | 国产精品综合一区二区 | 天堂va| 国内精品一区二区三区 | 国内外成人在线视频 | 亚洲国产日韩欧美 | 日韩视频不卡 | 一区二区在线免费观看 | 欧美综合久久 | 欧美视频在线播放 | 午夜资源 | 国产三级在线 | 国产精品久久久一区二区 | 免费99视频| 欧美亚洲啪啪 | 亚洲一区二区三区免费在线 | 国产成人综合视频 | 干一干操一操 | 欧美精品成人在线视频 | 日本久久网| 午夜精品久久久 | 欧美日韩在线观看一区二区 | 亚洲h视频 | 亚洲欧美日韩精品久久亚洲区 | 一区二区三区欧美在线 | av超碰在线 | 在线观看国产一级片 | 久久久国产精品入口麻豆 | 欧日韩免费视频 | 国产一区二区三区久久 | 久久久久av | 亚洲精品大片 | 久久久.com| 欧美综合激情 | 不卡一区 | 精品不卡 | 国产三级网站 | 亚洲精品一区二区三区四区高清 | av一区二区在线观看 | 青青草网站 | 羞羞视频网站免费看 | 成人国产在线观看 | 91精品国产高清久久久久久久久 | 午夜精品久久久久久久久久久久久 | 国产精品毛片在线 | 在线观看欧美一区二区三区 | 亚洲精品一区久久久久久 | 国产精品人人做人人爽 | 亚洲成av人片一区二区梦乃 | 羞羞的视频在线免费观看 | 精品久久97 | 日本黄色大片免费 | 亚洲精品自拍 | 777色狠狠一区二区三区 | 欧美日韩中文字幕 | 欧美亚洲一区二区三区 | 自拍偷拍视频网站 | 国产视频一区二区在线 | 欧美日韩视频 | 日韩视频一区二区 | 免费在线国产 | 超碰97人人人人人蜜桃 | 成人免费在线播放 | 午夜999| 久久久www | 亚洲三级视频 | 91精品国产综合久久国产大片 | www成人精品 | 男人的天堂久久 | 久久久www成人免费精品 | 国产a级毛片 | 国产精品一二 | 成人亚洲 | 亚洲不卡在线观看 | 91精品国产一区二区三区香蕉 | 成人在线免费av | 精品毛片在线 | 日韩视频―中文字幕 | 天堂中文av在线 | 香蕉综合久久 | 国产午夜精品一区二区三区 | 亚洲aⅴ天堂av在线电影软件 | 日韩欧美综合 | 色接久久 | 精品国产精品国产偷麻豆 | 国产在线视频网站 | 成人练习生 | 午夜免费网 | 99精品欧美一区二区蜜桃免费 | 国产精品污www在线观看 | 精品在线看 | 国产高清视频一区二区 | 人人看人人干 | av网站在线免费观看 | 亚洲精品久久久 | av免费在线观看网站 | 国产精品美女久久久久久不卡 | 国产一区二区精品在线 | 欧美日韩黄 | 毛片网站在线 | 亚洲激情在线 | 人人插人人| 国产精品成人一区二区 | 久久久网 | 色婷婷亚洲国产女人的天堂 | 欧美淫视频 | 国产黄色大片免费看 | 国产 日韩 欧美 在线 | 亚洲精品一区二区三区中文字幕 | 日韩在线观看成人 | 天堂一区二区三区 | 国产高清精品在线 | 天堂福利影院 | 日本一区二区精品 | 91午夜精品| 成人午夜免费网站 | 精品欧美一区二区三区久久久 | 国产成人综合网 | 久久99精品视频 | 久久青草av | 亚洲 国产 另类 精品 专区 | 中文字幕在线观看第一页 | 伊人网在线视频 | 久久综合九色综合欧美狠狠 | 国产一级黄 | 免费网站国产 | 操久在线 | 躁躁躁日躁夜夜躁 | 国产精品1区2区 | 夜夜春精品视频高清69式 | 国产一区二区三区在线免费观看 | av在线免费观看一区二区 | 亚洲国产天堂久久综合 | 日韩大片播放器 | 美女操网站 | 亚洲不卡在线 | 欧美精品福利视频 | 龙珠z国语版291集全 | 91精品国产91久久久久久黑人 | 成人午夜视频在线 | 国产精品毛片一区二区在线看 | 黄色片免费观看网站 | 欧美日韩高清 | 亚洲一区二区三区免费观看 | 久久视频免费 | 日本一区二区高清视频 | 国产精品久久久久久影院8一贰佰 | 黄色激情网站 | 99精品久久精品一区二区爱城 | 欧美涩涩网站 | 国产精品无码久久久久 | 成人av高清在线观看 | 国产高清视频一区二区 | 欧美日韩亚| 特黄特黄aaaa级毛片免费看 | 成人一区二区三区在线观看 | 久久国产精品久久久久久久久久 | 久久精品亚洲欧美日韩精品中文字幕 | 成人免费影院 | 中文字幕亚洲欧美日韩在线不卡 | 91干在线观看| 中文字幕在线视频网站 | 亚洲中午字幕 | 成人黄色电影在线观看 | 婷婷激情综合 | 精品欧美一区二区精品久久久 | 一区二区中文字幕 | 香蕉视频91| 欧美一区二区三区免费 | 国产精品久久久久久久天堂 | 午夜电影网站 | 欧美日韩亚洲一区 | 成人在线一区二区三区 | 激情小视频网站 | а天堂中文最新一区二区三区 | 久久久久久久久久久久久久久久久久久 | 亚洲成人精品在线观看 | 91天堂 | 91精品国产综合久久精品 | 黄色国产一级视频 | 久久国产精品免费一区二区三区 | 九九热这里只有精 | 欧美一级一区 | 国产三级久久久久 | 龙珠z中文版普通话 | jizz18国产 | 亚洲欧洲精品一区二区三区 | 99精品欧美一区二区三区综合在线 | 日韩色av | av最新在线 | 免费一区二区三区 | 国产区91 | 亚洲福利影院 | 成人免费福利 | 久久久久久久久中文字幕 | av 一区二区三区 | 国产第一亚洲 | 操操操操操操操操操操操操操操 | 免费av片网站 | 午夜欧美一区二区三区在线播放 | 亚洲综合大片69999 | 欧美极品视频 | 久久精品亚洲一区 | 欧美激情一区二区三区四区 | 亚洲一二三 | 高清国产一区二区三区 | 国产精品亚洲一区二区三区 | 日韩精品一二三区 | 欧美精品综合 | 久久精品无码一区二区日韩av | 天天干狠狠干 | 亚洲国产中文字幕 | 久久ri资源网 | 91色在线 | 久久久久亚洲精品国产 | 亚洲欧美日韩一区二区 | 波多野结衣三区 | 午夜视频免费 | 国产精品久久久久久久7电影 | 91精品久久久久久综合五月天 | 国产激情精品一区二区三区 | 国产精品久久一区 | av国产精品毛片一区二区小说 | 999久久久国产精品 欧美成人h版在线观看 | 日韩精品在线免费 | 午夜影视| 国产午夜视频 | 亚洲综合色网 | 欧美一区久久 | 久久伊人国产 | 一区二区日韩精品 | 一区视频 | 亚洲一区久久久 | 国产日韩一区二区 | 久草热8精品视频在线观看 欧美全黄 | 欧美日韩精品一区二区三区在线观看 | 午夜网址 | 亚洲综合大片69999 | av官网在线 | 欧美中文字幕在线 | 91中文字幕一区 | 91精品国产综合久久久久久丝袜 | 新疆少妇videos高潮 | 日韩成人一区二区 | а√天堂资源中文最新版地址 | 久久1区 | av在线免费播放 | 国产日韩欧美视频 | 亚洲 欧美 精品 | 一区二区视频在线 | 亚洲免费观看视频 | 日韩不卡一区 | 一区二区三区日韩精品 | 污色视频在线观看 | 午夜激情在线免费观看 | av免费网站在线观看 | 精品黄网 | 亚洲最大av网站 | 欧美日韩一区二区三区 | 福利二区视频 | 小川阿佐美88av在线播放 | 国产亚洲一区二区三区在线观看 | 爱操av| 欧美日韩精品久久久 | 交视频在线观看国产 | 91免费在线播放 | 亚洲成人精品在线观看 | 91色乱码一区二区三区 | 国产精品一区久久久久 | 精品久久久精品 | 亚洲精品视频免费 | 亚州av在线 | 一级高清| 1区2区视频 | 91精品国产乱码久久久久久 | 操皮视频| 91免费电影 | 亚洲午夜免费视频 | 不卡的免费av | 四虎com| 精品一二三区在线观看 | 精品无码久久久久久国产 | 亚洲精品久久久久久久久久久 | 免费观看成人毛片 | 超碰最新在线 | 日韩a在线| 一级毛片免费在线 | 视频一区 中文字幕 | 日韩免费高清视频 | 久久在线视频 | 97色综合 | 国产激情在线观看 | 精品国产黄a∨片高清在线 激情网站免费 | 国产精品第一国产精品 | 99国产视频 | 国产精品久久久久毛片软件 | 福利片一区二区 | 国产一区二区三区欧美 | 在线免费黄| 成年免费观看视频 | 天操天天干| 中文字幕日韩在线 | 在线观看视频一区二区三区 | 天天操天天干视频 | 深夜av在线| 国产在线观看一区二区 | 一级免费毛片 | 亚洲美女视频一区二区三区 | 欧美激情一区二区三区 | 色综合网址 | 国产91对白叫床清晰播放 | 欧美一级一区 | 日韩毛片在线观看 | av高清在线看 | 精品国产影院 | 国产综合亚洲精品一区二 | 国产精品一区二区三区在线播放 | 曰曰操 | 国产在线视频在线 | 国产艹| 国产一区二区免费视频 | 欧美男人天堂 | 嫩草懂你 | av一区二区三区四区 | 国产精品毛片久久久久久 | 成人av播放 | 91色在线| 特级淫片裸体免费看 | 国产精品欧美日韩 | 国产美女黄色片 | 老司机深夜福利视频 |