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

您的位置:首頁技術文章
文章詳情頁

Java實現NIO聊天室的示例代碼(群聊+私聊)

瀏覽:3日期:2022-08-12 18:38:18
功能介紹

功能:群聊+私發+上線提醒+下線提醒+查詢在線用戶

Java實現NIO聊天室的示例代碼(群聊+私聊)

Java實現NIO聊天室的示例代碼(群聊+私聊)

Java實現NIO聊天室的示例代碼(群聊+私聊)

Java實現NIO聊天室的示例代碼(群聊+私聊)

文件Utils

需要用maven導入下面兩個包

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version></dependency><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version></dependency>

package moremorechat_nio;import lombok.extern.slf4j.Slf4j;import java.io.*;/** * @author mazouri * @create 2021-05-09 22:26 */@Slf4jpublic class Utils { /** * 將二進制數據轉為對象 * * @param buf * @return * @throws IOException * @throws ClassNotFoundException */ public static Message decode(byte[] buf) throws IOException, ClassNotFoundException {ByteArrayInputStream bais = new ByteArrayInputStream(buf);ObjectInputStream ois = new ObjectInputStream(bais);return (Message) ois.readObject(); } /** * 將對象轉為二進制數據 * * @param message * @return */ public static byte[] encode(Message message) throws IOException {ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(baos);oos.writeObject(message);oos.flush();return baos.toByteArray(); }}FinalValue

package moremorechat_nio;/** * @author mazouri * @create 2021-05-05 21:00 */public final class FinalValue { /** * 系統消息 */ public static final int MSG_SYSTEM = 0; /** * 群發消息 */ public static final int MSG_GROUP = 1; /** * 私發消息 */ public static final int MSG_PRIVATE = 2; /** * 客戶端請求在線人員 */ public static final int MSG_ONLINE = 3; /** * 客戶端將用戶名稱發送給服務端 */ public static final int MSG_NAME = 4;}Message

package moremorechat_nio;import java.io.Serializable;/** * @author mazouri * @create 2021-05-05 21:00 */public class Message implements Serializable { public int type; public String message; public Message() { } public Message(String message) {this.message = message; } public Message(int type, String message) {this.type = type;this.message = message; } @Override public String toString() {return 'Message{' +'type=' + type +', message=’' + message + ’’’ +’}’; }}NioServer

package moremorechat_nio;import lombok.extern.slf4j.Slf4j;import java.io.*;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.ArrayList;import java.util.Iterator;import java.util.Set;import java.util.concurrent.atomic.AtomicBoolean;import java.util.stream.Collectors;import static moremorechat_nio.FinalValue.*;/** * ctrl+f12 方法 * ctrl+alt+左鍵 * @author mazouri * @create 2021-05-09 19:24 */@Slf4jpublic class NioServer { private Selector selector; private ServerSocketChannel ssc; public NioServer() {try { // 創建 selector, 管理多個 channel selector = Selector.open(); //打開ServerSocketChannel,用于監聽客戶端的連接,它是所有客戶端連接的父通道 ssc = ServerSocketChannel.open(); ssc.bind(new InetSocketAddress(8888)); //設置連接為非堵塞模式 ssc.configureBlocking(false); // 2. 建立 selector 和 channel 的聯系(注冊) // SelectionKey 就是將來事件發生后,通過它可以知道事件和哪個channel的事件 //將ServerSocketChannel注冊到Reactor線程的多路復用器Selector上,監聽ACCEPT事件 ssc.register(selector, SelectionKey.OP_ACCEPT);} catch (IOException e) { e.printStackTrace();} } public static void main(String[] args) {NioServer server = new NioServer();log.debug('server啟動完成,等待用戶連接...');try { server.listen();} catch (Exception e) { log.debug('發生了一些問題');} } /** * 監聽用戶的連接 * * @throws Exception */ private void listen() throws Exception {while (true) { // select 方法, 沒有事件發生,線程阻塞,有事件,線程才會恢復運行, 通過Selector的select()方法可以選擇已經準備就緒的通道 (這些通道包含你感興趣的的事件) //通過Selector的select()方法可以選擇已經準備就緒的通道 (這些通道包含你感興趣的的事件) // select 在事件未處理時,它不會阻塞, 事件發生后要么處理,要么取消,不能置之不理 selector.select(); // 處理事件, selectedKeys 內部包含了所有發生的事件 Iterator<SelectionKey> iterator = selector.selectedKeys().iterator(); while (iterator.hasNext()) {SelectionKey key = iterator.next();// 處理key 時,要從 selectedKeys 集合中刪除,否則下次處理就會有問題iterator.remove();// 區分事件類型if (key.isAcceptable()) { ServerSocketChannel channel = (ServerSocketChannel) key.channel(); SocketChannel sc = channel.accept(); sc.configureBlocking(false); sc.register(selector, SelectionKey.OP_READ);} else if (key.isReadable()) { dealReadEvent(key);} }} } /** * 處理讀事件 * * @param key */ private void dealReadEvent(SelectionKey key) {SocketChannel channel = null;try { channel = (SocketChannel) key.channel(); ByteBuffer buffer = ByteBuffer.allocate(1024); int read = channel.read(buffer); // 如果是正常斷開,read 的方法的返回值是 -1 if (read == -1) {//cancel 會取消注冊在 selector 上的 channel,并從 keys 集合中刪除 key 后續不會再監聽事件key.cancel(); } else {buffer.flip();Message msg = Utils.decode(buffer.array());log.debug(msg.toString());dealMessage(msg, key, channel); }} catch (IOException | ClassNotFoundException e) { System.out.println((key.attachment() == null ? '匿名用戶' : key.attachment()) + ' 離線了..'); dealMessage(new Message(MSG_SYSTEM, key.attachment() + ' 離線了..'), key, channel); //取消注冊 key.cancel(); //關閉通道 try {channel.close(); } catch (IOException ioException) {ioException.printStackTrace(); }} } /** * 處理各種消息,并發送給客戶端 * * @param msg * @param key * @param channel */ private void dealMessage(Message msg, SelectionKey key, SocketChannel channel) {switch (msg.type) { case MSG_NAME:key.attach(msg.message);log.debug('用戶{}已上線', msg.message);getConnectedChannel(channel).forEach(selectionKey -> { SocketChannel sc = (SocketChannel) selectionKey.channel(); sendMsgToClient(new Message('收到一條系統消息: ' + msg.message + '已上線'), sc);});break; case MSG_GROUP:getConnectedChannel(channel).forEach(selectionKey -> { SocketChannel sc = (SocketChannel) selectionKey.channel(); sendMsgToClient(new Message(key.attachment() + '給大家發送了一條消息: ' + msg.message), sc);});break; case MSG_PRIVATE:String[] s = msg.message.split('_');AtomicBoolean flag = new AtomicBoolean(false);getConnectedChannel(channel).stream().filter(sk -> s[0].equals(sk.attachment())).forEach(selectionKey -> { SocketChannel sc = (SocketChannel) selectionKey.channel(); sendMsgToClient(new Message(key.attachment() + '給你發送了一條消息: ' + s[1]), sc); flag.set(true);});if (!flag.get()){ sendMsgToClient(new Message(s[1]+'用戶不存在,請重新輸入!!!'), channel);}break; case MSG_ONLINE:ArrayList<String> onlineList = new ArrayList<>();onlineList.add((String) key.attachment());getConnectedChannel(channel).forEach(selectionKey -> onlineList.add((String) selectionKey.attachment()));sendMsgToClient(new Message(onlineList.toString()), channel);break; case MSG_SYSTEM:getConnectedChannel(channel).forEach(selectionKey -> { SocketChannel sc = (SocketChannel) selectionKey.channel(); sendMsgToClient(new Message('收到一條系統消息: ' + msg.message), sc);});break; default:break;} } /** * 發送消息給客戶端 * * @param msg * @param sc */ private void sendMsgToClient(Message msg, SocketChannel sc) {try { byte[] bytes = Utils.encode(msg); sc.write(ByteBuffer.wrap(bytes));} catch (IOException e) { log.debug('sendMsgToClient出現了一些問題');} } /** * 獲取所有channel,除去調用者 * * @param channel * @return */ private Set<SelectionKey> getConnectedChannel(SocketChannel channel) {return selector.keys().stream().filter(item -> item.channel() instanceof SocketChannel && item.channel().isOpen() && item.channel() != channel).collect(Collectors.toSet()); }}NioClient

package moremorechat_nio;import lombok.extern.slf4j.Slf4j;import java.io.*;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.SocketChannel;import java.util.Iterator;import java.util.Scanner;import static moremorechat_nio.FinalValue.*;/** * @author mazouri * @create 2021-04-29 12:02 */@Slf4jpublic class NioClient { private Selector selector; private SocketChannel socketChannel; private String username; private static Scanner input; public NioClient() throws IOException {selector = Selector.open();socketChannel = SocketChannel.open(new InetSocketAddress('127.0.0.1', 8888));socketChannel.configureBlocking(false);socketChannel.register(selector, SelectionKey.OP_READ);log.debug('client啟動完成......');log.debug('請輸入你的名字完成注冊');input = new Scanner(System.in);username = input.next();log.debug('歡迎{}來到聊天系統', username); } public static void main(String[] args) throws IOException {System.out.println('tips: n1. 直接發送消息會發給當前的所有用戶 n2. @用戶名:消息 會私發給你要發送的用戶 n3. 輸入 查詢在線用戶 會顯示當前的在線用戶');NioClient client = new NioClient();//啟動一個子線程接受服務器發送過來的消息new Thread(() -> { try {client.acceptMessageFromServer(); } catch (Exception e) {e.printStackTrace(); }}, 'receiveClientThread').start();//調用sendMessageToServer,發送消息到服務端client.sendMessageToServer(); } /** * 將消息發送到服務端 * * @throws IOException */ private void sendMessageToServer() throws IOException {//先把用戶名發給客戶端Message message = new Message(MSG_NAME, username);byte[] bytes = Utils.encode(message);socketChannel.write(ByteBuffer.wrap(bytes));while (input.hasNextLine()) { String msgStr = input.next(); Message msg; boolean isPrivate = msgStr.startsWith('@'); if (isPrivate) {int idx = msgStr.indexOf(':');String targetName = msgStr.substring(1, idx);msgStr = msgStr.substring(idx + 1);msg = new Message(MSG_PRIVATE, targetName + '_' + msgStr); } else if ('查詢在線用戶'.equals(msgStr)) {msg = new Message(MSG_ONLINE, '請求在線人數'); } else {msg = new Message(MSG_GROUP, msgStr); } byte[] bytes1 = Utils.encode(msg); socketChannel.write(ByteBuffer.wrap(bytes1));} } /** * 接受從服務器發送過來的消息 */ private void acceptMessageFromServer() throws Exception {while (selector.select() > 0) { Iterator<SelectionKey> iterator = selector.selectedKeys().iterator(); while (iterator.hasNext()) {SelectionKey key = iterator.next();iterator.remove();if (key.isReadable()) { SocketChannel sc = (SocketChannel) key.channel(); ByteBuffer buffer = ByteBuffer.allocate(1024); sc.read(buffer); Message message = Utils.decode(buffer.array()); log.debug(String.valueOf(message.message));} }} }}

到此這篇關于Java實現NIO聊天室的示例代碼(群聊+私聊)的文章就介紹到這了,更多相關Java NIO聊天室內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 久久久性色精品国产免费观看 | 亚洲97| 91精品国产91综合久久蜜臀 | 色资源| 国产一二三在线 | 中文字幕日韩在线 | 在线国产一区 | 蜜月va乱码一区二区三区 | 日本 欧美 国产 | 亚洲国产青草 | 一级黄色影片在线观看 | 日韩久久一区二区 | 杨门女将寡妇一级裸片看 | 国产成人精品一区二 | 99热激情 | 在线看一区二区 | 国产wwwcom | 欧美一区二区三区视频在线观看 | 在线观看免费黄色 | 岛国av免费看 | www.av7788.com| 中文字幕国产视频 | 国产福利91精品 | 精品久 | 欧洲精品视频在线观看 | 一区二区三区日韩 | 中文字幕 在线观看 | 亚洲欧美日韩在线 | 九九热这里只有精 | 日韩成人在线播放 | 欧美日韩在线免费观看 | avmans最新导航地址 | www.蜜桃av.com| 免费视频一区二区 | 伊人网在线视频免费观看 | 亚洲欧美另类在线 | 亚洲精品国产综合区久久久久久久 | а天堂中文最新一区二区三区 | 精久久| 国产视频亚洲精品 | 国产精品久久一区二区三区 | 久久精品一区二区三区四区 | 精品国产不卡一区二区三区 | 一区二区三区在线播放 | 国产精品久久久久久久久福交 | 成人在线视频免费 | 欧美日韩在线一区二区 | 五月天中文字幕 | 香蕉久久一区二区不卡无毒影院 | 国产欧美一区二区精品久久 | 欧美14一18处毛片 | 91高清在线 | 欧美精品一区自拍a毛片在线视频 | 国产精品一区二区三区免费视频 | 欧美日韩一区二区三区四区 | 欧美国产精品一区二区三区 | 日本a v网站 | 三级成人片 | 国产精品久久99 | 久久久国产精品入口麻豆 | 四虎影院最新地址 | 不卡一二| 午夜激情视频免费 | 色婷网| 国产精彩视频 | 一区二区在线免费观看 | 免费欧美一级 | 天天澡天天狠天天天做 | 欧美a区 | 欧美伊人影院 | 久久久久久久国产精品 | 日本一区二区三区四区视频 | 日日精品| 免费成人在线网站 | 国产综合精品一区二区三区 | 红色av社区 | 91高清视频在线观看 | 国产中文视频 | 日韩一区在线观看视频 | 污视频在线观看免费 | 精品久久香蕉国产线看观看亚洲 | 91一区二区 | 99伊人网| 美女视频黄色 | 国产一区欧美 | 久久久久久九九 | 欧美一级特| 毛片网络| 91短视频版在线观看www免费 | 啪啪的网站 | 欧美一区二区三区精品 | 国产精品久久久久久久久污网站 | 免费三级电影网站 | 久久久久一区二区三区 | 日韩欧美在线观看一区 | 国产成人精品一区二区三区视频 | 国产一区二区三区四区五区 | 国产一区二区三区色淫影院 | 亚洲精品久久久 | 成人精品一区二区三区中文字幕 | 成人在线精品视频 | 亚洲精品久久久久久下一站 | 国产视频一二三区 | 欧美国产综合 | 亚洲国产在 | 二区国产| 色伊人久久 | 特黄一级 | 一级a毛片 | 久久一区二区三区四区 | 精品美女在线 | 精品久久久网站 | 九色91九色porny永久 | 五月天婷婷社区 | 男人天堂中文字幕 | 欧美激情在线播放 | 色综合欧美 | 天天舔夜夜操 | 最新国产在线 | 亚洲精选久久 | 日韩av在线中文字幕 | 免费观看一级特黄欧美大片 | 色女人av| 日韩精品999 | 色综合免费 | 夜夜天天操 | 欧美视频亚洲视频 | 日本一区高清 | 日本欧美大片 | 成人在线不卡 | 视频1区2区| 在线免费黄色小视频 | 欧美日韩在线电影 | h视频在线免费观看 | 欧美一级片在线观看 | 日韩激情综合 | 欧美日韩国产一区二区三区不卡 | 亚洲美女在线视频 | 精品国产乱码久久久久久闺蜜 | 天天干夜夜操 | www久| 精品久久久久一区二区国产 | 精品乱子伦一区二区三区 | 欧美小电影 | 亚洲精品66 | 99热最新网站 | 99视频在线 | 亚洲一区二区中文 | 国产精品久久久久久久久免费 | 国产精品一区二区三区在线 | 久久丝袜 | 国产精品视频一二三区 | 国产精品精品 | 狠狠操狠狠摸 | 在线观看av网站永久 | 久久久久久亚洲精品 | 亚洲视频免费观看 | 91精品久久久久久久久 | 91视频大全 | 91在线视频播放 | 中文在线一区 | 成人不卡 | 午夜精品久久久久 | 一级欧美一级日韩片 | 国产精品毛片一区二区在线看 | 国产视频福利在线观看 | 日本久久网| 欧美国产日韩在线观看 | 亚洲精品9999 | 久久久久久久国产精品 | 欧美性一区二区三区 | 一区二区不卡视频在线观看 | 中文字幕一区二区三区在线视频 | 91精品久久久久久综合五月天 | 成人亚洲免费视频 | 99视频在线看 | 久在线视频 | 亚洲 欧美 日韩在线 | 涩涩视频网站在线观看 | 欧洲另类二三四区 | 91资源在线观看 | 国产成人福利在线观看 | 免费一级片 | 在线观看一级片 | www中文字幕在线观看 | 精品中文字幕在线 | 色伊人久久 | 亚洲久草在线 | 欧美一级二级视频 | 日韩视频国产 | 国产小视频在线播放 | 国产精品日本一区二区在线播放 | 国产激情精品一区二区三区 | 亚洲欧洲一区二区三区 | 国产1区2区 | 国产一区二区久久 | 国产一级片| 日本欧美久久久久免费播放网 | 欧美一级免费观看 | 亚洲精品一区二区在线观看 | 狠狠综合 | 欧美极品视频 | 成人在线看片 | 91亚洲国产成人久久精品网站 | 国产成人在线一区二区 | 久久婷婷色| 美女精品视频在线 | 久久成人一区二区 | 国产成人在线一区二区 | 久久久久亚洲美女啪啪 | 国产欧美精品一区aⅴ影院 毛片视频网站 | 久久精品二区 | 婷婷丁香综合 | 精品国产欧美一区二区 | 久久精品国产视频 | 久久日本视频 | 亚洲精品久久久一区二区三区 | 亚洲码欧美码一区二区三区 | 国产亚洲精品成人av久久ww | 日韩超级大片免费看国产国产播放器 | 亚洲精品视频导航 | 精品成人免费一区二区在线播放 | 四虎影院最新网站 | 百性阁综合另类 | 久久久国产精品 | 日本久久精品电影 | 伊人小视频 | 国产片在线观看 | 国产视频三区 | 91久久综合亚洲鲁鲁五月天 | 久久国产一区二区 | 亚洲一区视频在线播放 | 亚洲情视频 | 久久久91 | 国产精品成人久久久久 | 啊v视频 | 午夜999| 美女91| 一区二区精品视频 | 男女视频免费看 | 日韩成人免费视频 | 狠狠躁夜夜躁人人爽天天天天97 | 97影院在线午夜 | 国产99久久久国产精品 | 久久视频免费 | 在线欧美 | 国产精品国产精品国产 | 亚洲午夜精品视频 | 国产成人一区二区 | 亚洲人视频 | 三级在线观看 | 91精品久久久久久久久久小网站 | 日韩精品一区二区三区在线 | 国产亚洲一区二区三区在线观看 | 久久精品一区二区三区中文字幕 | 日本不卡高字幕在线2019 | 91在线免费看 | 福利亚洲 | 精品国产综合 | 亚洲在线视频 | 91免费看电影 | 亚洲免费在线观看 | 国产视频中文字幕 | 香港三级日本三级a视频 | 欧美性一区二区三区 | 日本一区二区三区四区不卡视频 | 国产一区二区精品久久岳 | 国产精品免费一区二区三区四区 | 蜜臀91精品国产高清在线观看 | 欧美国产日韩一区 | 免费亚洲成人 | 欧美日本韩国一区二区三区 | 在线观看毛片网站 | 精品久久一二三区 | 欧美一区二区三区成人 | 日本小视频网站 | aaaaaa毛片| 国产日韩一区二区 | 欧美一区在线视频 | 在线观看精品91福利 | 色一色视频 | 美女视频黄又黄又免费 | www久久久 | 久久伊人亚洲 | 日韩在线视频免费看 | 日韩国产一区二区三区 | 午夜老湿影院 | 亚洲性人人天天夜夜摸 | 人人人射 | 久久久久久亚洲精品 | 欧美大片一区二区 | 免费国产黄色大片 | 久久福利 | 欧美午夜一区二区三区免费大片 | 久久久一区二区 | 国产精品国产三级国产aⅴ原创 | 欧洲一区| 国产偷自视频区视频 | 黄色成人在线 | 国产视频网 | 亚洲精品一区中文字幕乱码 | 国产精品免费一区 | 国产馆一区二区 | 国产一区免费在线观看 | 精品亚洲成a人片在线观看 国产高清在线 | 日韩成人免费av | 成人a级网站 | 福利视频一区 | 午夜成人免费电影 | 亚洲欧美第一页 | 精品久久久久久 | 日韩在线免费视频 | 99精品全国免费观看视频软件 | 中文字幕日韩欧美一区二区三区 | 国产依人在线 | 国模精品视频一区二区 | 毛片网站在线 | 国产伦精品一区二区三区四区视频 | av在线一区二区三区 | 看毛片网站 | 国产日韩在线播放 | 亚洲三级在线播放 | 国产高清一二三区 | 美日韩精品视频 | 国产免费一区 | 国产不卡在线观看 | 精品国产精品 | 中文字幕一区二区三区乱码图片 | 亚洲国产日韩a在线播放性色 | 久久人操 | 黄a免费看 | 色综合天天综合网国产成人网 | 国产女人和拘做受在线视频 | 久久99精品国产自在现线 | 直接看av的网站 | 在线播放黄色片网站 | 亚洲国产字幕 | 精品国产不卡一区二区三区 | 日韩av在线中文字幕 | 综合网日韩 | 青草青草久热精品视频在线观看 | 久久久久国产一区二区三区 | 日韩av手机在线免费观看 | 天天干天天曰天天操 | 另类免费视频 | 波多野结衣中文字幕在线视频 | 亚洲福利一区 | 一级毛片aaaaaa免费看 | 国产成人精品免高潮在线观看 | 日韩欧美一区二区三区免费观看 | 亚洲一区精品视频 | 久久精品综合 | 成年人视频在线免费观看 | 91porn在线 | 成人精品视频99在线观看免费 | av 一区二区三区 | 美女一区二区三区在线观看 | 日韩在线视频一区 | 亚洲精品久久 | 日韩在线播放一区二区三区 | 成人国产精品视频 | 国产成人精品一区二 | 久久精品91 | 久久久影院 | 精品少妇一区二区三区 | 欧美在线播放一区二区三区 | 91文字幕巨乱亚洲香蕉 | 久久久久久久久久久久99 | 亚洲精品一区二三区不卡 | 精品久久久久久亚洲综合网 | 国产精品久久久久久久粉嫩 | 亚洲久久在线 | 午夜精品久久久久久 | 午夜免费观看网站 | 四虎影院网 | 91精品国产91久久久久久吃药 | 欧美爱爱视频 | 欧美在线a| 国产精品国产精品国产 | 狠狠躁夜夜躁人人爽天天高潮 | 99久久精品一区二区成人 | 成人亚洲一区 | 亚洲区视频在线 | 最新av在线网址 | 欧美怡红院视频一区二区三区 | 黄色a级网站 | 不卡久久 | 久久青青操 | 日韩久久久久久久久久久 | 久久国产99| 国产美女久久 | 91精品国产综合久久久久久丝袜 | 99精品99| 久久视频一区 | 奇米成人 | 男女免费视频 | 亚洲欧美成人影院 | 亚洲精品日韩在线 | 久久视频一区二区 | 日日夜夜天天 | 亚洲成人伊人 | 操久久 | 欧美成人综合视频 | 日韩精品一区二区三区老鸭窝 | av影音资源| 国产综合精品一区二区三区 | 99re在线精品| 激情欧美日韩一区二区 | 欧美理论视频 | 婷婷综合五月天 | 国产黄色一级大片 | 国产黄色大片 | 日韩精品一区二区三区中文字幕 | 99国产精品99久久久久久 | 国产1级片| 99视频在线免费观看 | 欧美理论片在线观看 | 搡女人真爽免费午夜网站 | 国产中文在线 | 国产精品成人在线观看 | 日韩一级片 | 91.成人天堂一区 | 亚洲精品一区二区三区蜜桃久 | 欧美炮房| 一区二区三区四区在线 | 亚洲精品在线免费看 | av动漫一区二区 | 精品三级在线观看 | 国产在线小视频 | 国产三级在线播放 | 国产欧美日韩 | 毛片一区二区三区 | 精品一区二区久久久久久久网站 | 久草视频在线观 | 久久伊人亚洲 | 久草av在线播放 | 国产视频2021 | 欧美 日韩 中文 | 日日鲁鲁 | 国产精品亚洲成人 | 一区二区在线视频 | 黄色一级片免费 | 精品久| 久久伊人青青草 | 91国产精品 | 亚洲精品乱码久久久久久不卡 | 国产综合精品视频 | 欧美激情精品久久久久久 | 亚洲自拍偷拍av | www.fefe66.com| 亚洲精品亚洲人成人网 | 日夜夜精品视频 | 国产精品久久久久久久天堂 | 亚洲国产成人av好男人在线观看 | 来个毛片 | 久久亚洲精品裙底抄底 | 成人网久久 | 免费亚洲成人 | 在线精品国产 | 欧美专区在线 | 日韩一级视频 | 精品国产污网站污在线观看15 | 国产精品视频久久 | 日本一区二区三区四区不卡视频 | 一级电影免费看 | 中文精品在线 | 久久久久久久国产精品 | 国产最新精品视频 | 精品国产乱码久久久久久闺蜜 | 国产99精品| 欧美一区二区三区视频 | 久久这里精品 | 羞羞的视频在线 | 久久精品一区二区三区四区 | 久久se精品一区精品二区 | 中文字幕在线看片 | 中文字幕日韩在线视频 | 午夜欧美精品久久久久 | 国产精选久久 | 在线视频 欧美日韩 | 精品久久久久久久久久久 | 日韩a在线 | 国产成人综合一区二区三区 | 97爱爱视频 | 国产视频一区二区在线 | 影音先锋久久 | 色橹橹欧美在线观看视频高清 | 日韩成人av在线 | 伊人超碰| 久久人| 中文字幕国产区 | www.一区| 自拍偷拍专区 | 91 在线观看| 超碰官网| 精品国产一区二区三区在线观看 | 老司机精品福利视频 | 久久久日韩精品一区二区三区 | 国产精品久久久久久久久免费桃花 | 成人免费一区二区三区视频软件 | 欧美一区二区三区国产精品 | yiren22成人网| 99久久免费观看 | 天天影视网色香欲综合网无拦截 | 久久久久综合狠狠综合日本高清 | 精品1区| 天天影视网色香欲综合网无拦截 | 国产精品亚洲精品 | 亚洲国产一区视频 | 亚洲 欧美 日韩在线 | 精品无人乱码区1区2区3区 | 日韩中文字幕在线播放 | 欧美成人高清视频 | 91色乱码一区二区三区 | 狠狠插狠狠操 | 日韩成年视频 | 日日操天天爽 | 91av在线播放 | 91免费版在线观看 | 最近免费中文字幕在线视频2 | 亚洲欧美日韩在线一区二区 | 亚洲欧美在线观看 | 久久精品免费 | 黄瓜av | 色偷偷噜噜噜亚洲男人 | 中文字幕在线观看第一页 | 精品1区2区 | 日本1区2区 | 欧美激情视频一区二区三区 | 成人精品 | 久久久久av | 黄色国产大片 | 最新中文字幕视频 | 国产精品一区二区av | a级三四级黄大片 | 欧美日韩精品久久久 | 99精品免费视频 | 伊人免费视频 | 日本在线视频一区二区 | 玖色视频 | 久久久激情视频 | 色婷婷国产精品久久包臀 | 麻豆久久久9性大片 | 亚洲高清在线观看 | 黄色一级片在线看 | 成人免费网站 | 国厂毛片| 精品一区二区三区久久 | www中文字幕| 成人日韩 | 国偷自产一区二区免费视频 | 午夜不卡一区二区 | 美女视频黄色免费 | 国产精品久久久久久亚洲调教 | 午夜视频免费网站 | 亚洲精品乱码久久久久久不卡 | 精品日韩一区二区 | 黄色片在线 | 中国妞xxx| 久久伊人亚洲 | 激情久久久| 日韩高清一区 | 一区二区中文字幕 | 一道本一区| 欧美成年黄网站色视频 | 最新天堂中文在线 | 狠狠综合久久av一区二区老牛 | 爱爱视频网站 | 欧美综合国产 | 一区二区在线免费观看 | 日韩欧美国产一区二区 | 国产精品一区二区久久久久 | 亚洲v日韩v综合v精品v | 天天干夜夜弄 | 亚洲精彩视频在线观看 | 欧美1区 | 五月婷婷综合久久 | 国产精品久久久久久久久久小说 | 国产真实乱全部视频 | 国产精品一区免费在线观看 | 成人av一区二区三区 | h片观看 | 亚洲综合色视频在线观看 | 亚洲综合精品视频 | 国产精品福利91 | 亚洲精品久久久 | 精品久久久久久久 | 国产免费中文字幕 | 国产精品久久久久久亚洲调教 | 91激情视频| 91影院在线观看 | 久综合在线| 91社区在线高清 | 男人天堂视频网 | 亚洲视频在线看 | 午夜精品久久久久久99热软件 | 欧美日韩h | 毛片久久久 | 精品视频久久 | 青青草久草在线 | 日韩欧美在线一区二区 | 一区日韩 | 三级特黄特色视频 | 免费久久网站 | 仙踪林久久久久久久999 | 99热热热| 91在线观看视频 | 国产剧情一区二区 | 国产精品18久久久久久久久久久久 | 亚洲精品电影 | 视频一区在线播放 | 亚洲免费在线看 | 在线成人免费视频 | 欧美日韩视频 | 精品久久久久久亚洲综合网 |