黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

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

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

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

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

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

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

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

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

文件Utils

需要用maven導(dǎo)入下面兩個包

<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 { /** * 將二進(jìn)制數(shù)據(jù)轉(zhuǎn)為對象 * * @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(); } /** * 將對象轉(zhuǎn)為二進(jìn)制數(shù)據(jù) * * @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 { /** * 系統(tǒng)消息 */ public static final int MSG_SYSTEM = 0; /** * 群發(fā)消息 */ public static final int MSG_GROUP = 1; /** * 私發(fā)消息 */ public static final int MSG_PRIVATE = 2; /** * 客戶端請求在線人員 */ public static final int MSG_ONLINE = 3; /** * 客戶端將用戶名稱發(fā)送給服務(wù)端 */ 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 { // 創(chuàng)建 selector, 管理多個 channel selector = Selector.open(); //打開ServerSocketChannel,用于監(jiān)聽客戶端的連接,它是所有客戶端連接的父通道 ssc = ServerSocketChannel.open(); ssc.bind(new InetSocketAddress(8888)); //設(shè)置連接為非堵塞模式 ssc.configureBlocking(false); // 2. 建立 selector 和 channel 的聯(lián)系(注冊) // SelectionKey 就是將來事件發(fā)生后,通過它可以知道事件和哪個channel的事件 //將ServerSocketChannel注冊到Reactor線程的多路復(fù)用器Selector上,監(jiān)聽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('發(fā)生了一些問題');} } /** * 監(jiān)聽用戶的連接 * * @throws Exception */ private void listen() throws Exception {while (true) { // select 方法, 沒有事件發(fā)生,線程阻塞,有事件,線程才會恢復(fù)運行, 通過Selector的select()方法可以選擇已經(jīng)準(zhǔn)備就緒的通道 (這些通道包含你感興趣的的事件) //通過Selector的select()方法可以選擇已經(jīng)準(zhǔn)備就緒的通道 (這些通道包含你感興趣的的事件) // select 在事件未處理時,它不會阻塞, 事件發(fā)生后要么處理,要么取消,不能置之不理 selector.select(); // 處理事件, selectedKeys 內(nèi)部包含了所有發(fā)生的事件 Iterator<SelectionKey> iterator = selector.selectedKeys().iterator(); while (iterator.hasNext()) {SelectionKey key = iterator.next();// 處理key 時,要從 selectedKeys 集合中刪除,否則下次處理就會有問題iterator.remove();// 區(qū)分事件類型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 后續(xù)不會再監(jiān)聽事件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(); //關(guān)閉通道 try {channel.close(); } catch (IOException ioException) {ioException.printStackTrace(); }} } /** * 處理各種消息,并發(fā)送給客戶端 * * @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('收到一條系統(tǒng)消息: ' + msg.message + '已上線'), sc);});break; case MSG_GROUP:getConnectedChannel(channel).forEach(selectionKey -> { SocketChannel sc = (SocketChannel) selectionKey.channel(); sendMsgToClient(new Message(key.attachment() + '給大家發(fā)送了一條消息: ' + 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() + '給你發(fā)送了一條消息: ' + 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('收到一條系統(tǒng)消息: ' + msg.message), sc);});break; default:break;} } /** * 發(fā)送消息給客戶端 * * @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出現(xiàn)了一些問題');} } /** * 獲取所有channel,除去調(diào)用者 * * @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('歡迎{}來到聊天系統(tǒng)', username); } public static void main(String[] args) throws IOException {System.out.println('tips: n1. 直接發(fā)送消息會發(fā)給當(dāng)前的所有用戶 n2. @用戶名:消息 會私發(fā)給你要發(fā)送的用戶 n3. 輸入 查詢在線用戶 會顯示當(dāng)前的在線用戶');NioClient client = new NioClient();//啟動一個子線程接受服務(wù)器發(fā)送過來的消息new Thread(() -> { try {client.acceptMessageFromServer(); } catch (Exception e) {e.printStackTrace(); }}, 'receiveClientThread').start();//調(diào)用sendMessageToServer,發(fā)送消息到服務(wù)端client.sendMessageToServer(); } /** * 將消息發(fā)送到服務(wù)端 * * @throws IOException */ private void sendMessageToServer() throws IOException {//先把用戶名發(fā)給客戶端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, '請求在線人數(shù)'); } else {msg = new Message(MSG_GROUP, msgStr); } byte[] bytes1 = Utils.encode(msg); socketChannel.write(ByteBuffer.wrap(bytes1));} } /** * 接受從服務(wù)器發(fā)送過來的消息 */ 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));} }} }}

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 在线不卡一区 | 免费看片啪啪tv | 久久看视频 | 日韩综合在线观看 | 国产成人无码aa片免费看 | 视频一区免费观看 | 亚洲天堂日韩在线 | 最新2020无码中文字幕在线视频 | 国产黄色录相 | 精品国产一区二区三区忘忧草 | 亚洲男人影院 | 把腿张开老子臊烂你多p视频 | 亚洲a在线观看 | 骚婷婷| 国产91综合一区在线观看 | 少妇乱淫aaa高清视频真爽 | 中文字幕丝袜一区二区 | 欧美成人日韩 | 日本欧美一级 | 国产成人精品久 | 天堂√在线中文最新版8 | 欧美亚洲天堂 | 欧美91看片特黄aaaa | 色网站观看 | 日韩女优中文字幕 | 泽村玲子在线中文字幕 | 久久精品国产清自在天天线 | 翔田千里高潮在线播放 | 亚洲第一免费视频 | 国产91在线观 | 欧美精品亚洲精品日韩传电影 | 欧美日韩在线视频免费播放 | 国产乱人偷精品人妻a片 | 蜜桃91麻豆精品一二三区 | 你懂的国产视频 | 久久精品久久久久久久 | 欧美黑人大战白嫩在线 | 菲律宾黄色片 | www.亚洲com | 国产欧美一区二区三区视频在线观看 | 性――交――性――乱 | 亚洲黄网av| 国产色诱视频 | 成人综合在线观看 | 亚洲精品久久午夜无码一区二区 | 国产高清精品一区二区三区 | 天天舔天天 | 性插视频在线观看 | 色偷偷五月天 | 国产成人精品a视频一区 | 美女黄视频大全 | 亚洲自拍色 | 国产伦精品一区二区三区视频新 | 97视频在线 | 免费精品99久久国产综合精品 | 亚洲欧美综合色 | 中国浓毛少妇毛茸茸 | 石榴视频成人在线观看 | 乌鸦热v2ba在线观看 | 久久狼人亚洲精品一区 | 国产性av在线 | 久久精品成人欧美大片 | 日本理伦片午夜理伦片 | 亚洲欧洲无码av电影在线观看 | 国产精品国产三级国产普通话对白 | 视频一区在线观看 | 亚洲第一综合天堂另类专 | 狠狠色噜噜狠狠狠狠黑人 | 热99精品 | 欧美日韩八区 | 人妻少妇精品无码专区 | av在线伊人 | 精品无码国产av一区二区三区 | 国产伦精品一区二区三区千人斩 | 天天天天色 | 欧美三级韩国三级日本三斤在线观看 | 国产成人无码性教育视频 | 国产自产精品 | 视频在线国产 | 成人91| 国产情侣一区二区 | 国产欧美一区二区精品忘忧草 | 精品国产依人香蕉在线精品 | 国产精品激情在线观看 | 又大又长粗又爽又黄少妇毛片 | 美女隐私免费看 | 国产精品久久久久永久免费 | 精品一区二区三区四区 | julia中文字幕在线 | 少妇人妻挤奶水中文视频毛片 | 欧美三级一区二区 | 日本高清视频一区 | 欲妇荡岳丰满少妇岳91在线 | 少妇视频网站 | 欧美性xxxxx极品娇小 | 久久无码av三级 | 国产综合在线播放 | 一本之道高清狼码 | 国产又大又硬又爽免费视频试 | 欧美3p两根一起进高清免费视频 | 欧美在线观看视频一区二区 | 欧洲美女毛片 | 中文无码伦av中文字幕 | 免费无码黄网站在线观看 | 成人tv888| 激情二区 | 欧美精品一区二区视频在线观看 | 一区不卡视频 | 中文字幕视频在线观看 | 欧美黄色精品 | 欧美一级不卡视频 | 国产无遮挡又黄又爽又色 | 人人爽日日躁夜夜躁尤物 | 国产麻豆精品视频 | 成人爽a毛片一区二区免费 成人爽爽爽 | 国产精品久久视频 | 国产亚洲精品久久久久久久久久 | 国产精品久久久久久久久久久天堂 | 国产91丝袜在线 | 国产主播福利 | 黄色录像片子 | 人妻被按摩师玩弄到潮喷 | 亚洲国产精品va在线看黑人动漫 | 国产精品嫩草久久久久 | 黄色三级图片 | fc2-ppv系列| 人与禽物交videos另类 | 三级成人网 | 久久一区二区三区四区五区 | 日本高清www视频在线观看 | 欧美一性一乱一交一视频 | 永久免费不卡在线观看黄网站 | 久久无码中文字幕久久无码app | 亚洲精品尤物 | 精品免费久久久久久久 | 色偷偷免费视频 | 国产91美女视频 | 大胸美女被吃奶爽死视频 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 亚洲精品国产a久久久久久 亚洲精品国产crm | 天天操天天摸天天干 | 人妻熟女欲求不满在线 | 能在线观看的av网站 | 综合三区后入内射国产馆 | 狠狠欧美 | 国产麻豆一区二区三区 | 久久精品人成免费 | 久久精品女人的天堂av | 亚洲最大中文字幕无码网站 | 免费欧美黄 | 色爱无码av综合区 | 可以免费观看的毛片 | 久久久久无码精品国产不卡 | 国产伦孑沙发午休精品 | 国精产品999一区二区三区有 | av午夜精品 | 成人乱人伦精品小说 | 拔萝卜视频在线观看高清版 | 国产视频在线观看一区二区 | 亚洲精品蜜桃久久久久久 | 日本免费高清视频 | 熟女人妻在线视频 | 欧美成人免费一区二区三区视频 | 在线观看中文字幕一区 | 成人av一区二区三区在线观看 | 国产乱码精品一区二区三区忘忧草 | 亚洲精品国产一区 | 国产99在线 | 亚洲 | 夜夜骚视频 | 久久久久xxxx| 免费观看黄色网址 | 操碰人人 | 亚洲乱亚洲乱妇无码麻豆 | 亚洲熟妇无码av在线播放 | 五月天综合激情网 | 黑人大战亚洲人精品一区 | 天堂网www在线资源网 | 天堂躁躁人人躁婷婷视频ⅴ | 99久久精品国产一区二区成人 | 亚洲人成在线影院 | av网站免费在线看 | 欧美专区在线观看 | 久色免费视频 | 在线观看亚洲一区 | 巨胸爆乳美女露双奶头挤奶 | 国产999精品久久久影片官网 | 国产在线精品一区 | 国产又黄又大又爽 | 久久久精品人妻久久影视 | 中文无码久久精品 | 特级毛片全部免费播放器 | 天堂综合久久 | 懂爱av性色av粉嫩av | 草草地址线路①屁屁影院成人 | 婷婷色婷婷开心五月四房播播 | 亚洲色图88| 欧美老妇人与禽交 | 97色伦图片97综合影院 | 亚洲精品视频久久久 | 不卡av在线 | 国产98色| 91国偷自产一区二区使用方法 | 99年国精产品一二二区传媒 | yiren22亚洲综合伊人22 | 一区二区三区不卡在线 | 久久久久久亚洲 | 中文在线观看视频 | 人人草视频在线 | 日本黄大片在线观看 | av在线中文字幕不卡电影网 | 亚洲色图一区二区三区 | 人妖一区二区三区 | 麻豆精产国品 | 日韩精品人妻系列无码专区免费 | 色多多福利网站免费破解 | аⅴ资源中文在线天堂 | 爱情岛av亚洲论坛自拍品质 | 和寡妇做爰过程a一片 | 中文字幕一区二区三区人妻少妇 | 无码熟妇人妻av在线网站 | 一区二区在线不卡 | 国产精品久久麻豆 | 国产肥白大熟妇bbbb | 成人自拍视频在线观看 | 18禁黄久久久aaa片 | 熟女人妻少妇精品视频 | 狠狠色综合激情丁香五月 | 亚洲精品久久久一线二线三线 | 国产91精品一区二区麻豆亚洲 | 丰满熟妇被猛烈进入高清片 | 麻豆精产国品 | 妇女伦子伦视频高清在线 | 国产成人久久久精品二区三区 | 国产一级二级视频 | 欧美日韩一区二区三区在线 | 九九五月天 | 国产裸体美女永久免费无遮挡 | 农村老妇性真猛 | 自拍偷拍 亚洲 | 成人免费黄网站 | 一级成人免费视频 | 日本天堂在线播放 | 黄网站在线播放 | 精品动漫3d一区二区三区免费版 | 毛片免费视频在线观看 | 日韩在线三区 | 国产青青草 | 黑人狂躁日本妞hd | 精品国产va久久久久久久冰 | 亚洲一线二线在线观看 | 欧美一级片毛片 | 日韩精品一区二区三区不卡 | 久青草免费视频 | 国产夫妻露脸 | 成人77777| 国产91对白叫床清晰播放 | 天天做天天爱夜夜爽 | 一出一进一爽一粗一大视频 | 91精品在线播放 | 日韩精品手机在线 | 亚洲成人一区在线观看 | 久草久草 | 全黄一级片 | 一级做性色α爱片久久毛片色 | 久久精品一区二区三区四区 | 中文在线观看免费 | 无码h黄肉动漫在线观看 | 欧美sm极限捆绑bd | 久久96视频| 欧美爱爱小视频 | 国产一区二区在线精品 | 国产女无套免费网在线观看 | 大黄专集在线观看 | 三级三级18女男 | 激情二区 | 中文字幕精品国产 | 少妇一级淫片免费观看 | 欧美日韩中文字幕一区 | 亚洲黄色片视频 | 欧美xxxx黑人xyx性爽 | 中文字幕无产乱码 | 精品无码国产污污污免费网站 | jav成人免费视频 | 美女十八毛片 | 国产小视频免费在线观看 | 啪一啪在线 | 老司机成人永久免费视频 | 91精品情国产情侣高潮对白文档 | 人少妇精品123在线观看 | 精品亚洲成a人在线观看 | 久欠精品国国产99国产精2021 | 免费a爱片猛猛 | 亚洲一卡2卡三卡四卡精品 曰批免费视频播放免费 | 美女扒开奶罩露出奶头视频网站 | 亚洲男人天堂2019 | 国产精品呦呦 | 九色视频在线免费观看 | 免费av高清 | 国模冰莲大胆自慰难受 | 少妇午夜啪爽嗷嗷叫视频 | 久久99精品久久久久久水蜜桃 | 琪琪色综合网 | 亚洲三区在线观看内射后入 | 国产xxxx视频在线观看 | 中文字幕av在线 | 久久久999久久久 | 日韩二区视频 | 蜜臀久久99精品久久一区二区 | 一级黄色免费 | 国产精品久久一区二区三区动漫 | 久久久久人妻精品一区三寸蜜桃 | 久久免费播放 | 亚洲影视综合网 | 狐狸视频污 | 亚洲午夜无码久久yy6080 | japanese丰满少妇最高潮 | 成人777| 福利国产片 | 国产黄色激情视频 | 久久无码av中文出轨人妻 | 精品香蕉99久久久久网站 | 色综合天天综合网国产成人网 | 青青草社区视频 | 亚洲国产精品va在线 | 久久久久女教师免费一区 | 国产大片内射1区2区 | 国产精品99久久久精品 | 91欧美成人 | 97人人模人人爽人人喊0 | 亚洲一区二区三区国产精华液 | 国产日韩av免费无码一区二区三区 | 女人被弄到高潮的免费视频 | 国产精品成熟老女人 | 国产极品美女高潮无套久久久 | 成人激情在线观看 | 九九99靖品 | 日韩爽爽视频 | 综合色88 | 欧美中文字幕在线观看 | 国产a级黄色 | 无码日韩精品一区二区免费 | 午夜亚洲 | 国产噜噜噜噜久久久久久久久 | 久久99热精品 | 污污免费在线观看 | av一起看香蕉 | 国产成人综合久久 | 99精品无人区乱码在线观看 | 椎名空在线播放 | 丰满人妻一区二区三区无码av | 国产欧美a | 伊人天天干| 97无人区码一码二码三码 | 欧美精品v国产精品 | 91超碰中文字幕久久精品 | jizz自拍| 伊人伊人鲁| 91久久国产综合久久 | 青草青草久热精品视频国产4 | 想要xx在线观看 | 亚洲a色 | 亚洲国精产品一二二线 | 在线天堂√8| 影音先锋每日av色资源站 | 男男军官互攻互受h啪肉np文 | 亚洲自拍三区 | 中国一级片黄色一级片黄 | 秋霞av亚洲一区二区三 | 婷婷狠狠爱 | 精品久久久久久久中文字幕 | 亚洲国产精品无码一线岛国 | 综合色区亚洲熟妇另类 | 亚洲一区二区视频在线 | 久久久久久97免费精品一级小说 | 伊人色综合久久天天人手人婷 | 国产精品高潮呻吟av久久动漫 | 超碰在线观看91 | 亚洲中文字幕无码永久在线 | 少妇乳大丰满太紧 | 中文字幕国产专区 | 国模一区二区 | 日韩五码在线 | 午夜免费播放观看在线视频 | 中文字幕丰满伦子无码 | 人人爽人人爽人人片av亚洲 | brazzers欧美大波霸 | 日韩中文字幕在线观看视频 | 亚洲午夜精品久久久 | 无码人妻精品一区二区三区下载 | 色播久久人人爽人人爽人人片av | 中日韩一线二线三线视频 | 操碰av| 成人做爰69片免费看网站 | 国产精品久久久久久久久久久久久久久久 | 亚洲精品永久在线观看 | 成人精品视频99在线观看免费 | 久久久激情视频 | 国产精品久久福利 | 日韩少妇乱码一区二区三区免费 | 影音先锋在线看 | 亚洲精品久久久久久久不卡四虎 | 久久国产精品99久久人人澡 | 久久久橹橹橹久久久久高清 | 国产女人18毛片水18精品 | 97精品久久久 | 强行18分钟处破痛哭av | 亚洲欧美在线不卡 | 国产a级片免费看 | 日本精品一区二区三区在线观看 | 亚洲一二三四五 | 亚洲成a人v欧美综合天堂 | 美女流白浆视频 | 国产精品久久久午夜夜伦鲁鲁 | 在哪看毛片 | 欧美大胆少妇bbw | 日韩天堂av | 免费涩涩网站 | 91欧美激情一区二区三区成人 | 西西人体44www大胆无码 | 免费无码国产v片在线观看 任我撸在线视频 | 欧美自拍区 | 狠狠色综合一区二区 | 亚洲hdmi高清线 | 日韩三区在线观看 | 黄色片网站免费观看 | 亚洲日本人的毛茸茸 | 无码精品人妻一区二区三区漫画 | 国产动作大片中文字幕 | 日本特黄一级片 | 极品无码av国模在线观看 | 一级片在线视频 | 日本在线不卡一区二区三区 | xvideos成人免费中文版 | 综合色99| 国产精品久久久久精 | 亚洲欧美强伦一区二区 | 夜夜嗨av涩爱av牛牛影视 | 国产91啦| 国产又色又爽又黄又免费 | 性大毛片视频 | 日韩欧美四区 | 成年人在线免费 | 国内精品久久久久久中文字幕 | 久久97久久97精品免视看秋霞 | 免费播放黄色片 | 欧美性猛交xxxx免费看蜜桃 | 一区二区三区精品 | 少妇精品久久久久久久久久 | 欧美xxx视频 | 国产精欧美一区二区三区久久 | 夜夜夜高潮夜夜爽夜夜爰爰 | 在线中文视频 | 免费福利在线视频 | 好吊日免费视频 | 精品超清无码视频在线观看 | 国产又粗又猛又爽又黄又 | 精品国产露脸对白在线观看 | 成年网站在线 | 久久久亚洲 | 日本护士毛茸茸 | 国产极品尤物 | 国产专区在线视频 | 天天射射综合 | 一本一道久久综合狠狠老 | 亚洲免费精品网站 | 一区视频在线免费观看 | 国产av国片偷人妻麻豆 | 中国一级大黄大黄大色毛片 | 日本肥老妇色xxxxx日本老妇 | 成av人电影在线观看 | 久草福利在线视频 | 国产又大又硬又爽免费视频试 | 爱爱精品视频 | 四虎成人网 | 色狠狠久久av五月综合 | 精品国产一区二区三区护卡密 | 日韩性网 | 欧美麻豆 | 一本到加勒比系列在线 | 美女久久精品 | 免费看欧美一级片 | 九九九亚洲 | 久久青草热| 中文字字幕人妻中文 | 男女互操视频网站 | 欧美一区二区最爽乱淫视频免费看 | 国产女人久久精品视 | 日韩欧美成人一区 | 特级精品毛片免费观看 | 青柠影视在线观看免费高清中文 | 三上悠亚久久精品 | 加勒比无码人妻东京热 | 欧亚一区二区三区 | 国产精品毛片久久久久久久明星 | 99国产精品久久久久 | 亚洲综合精品一区二区三区 | 久草精品视频在线看网站免费 | 国产羞羞视频 | 久久99视频| japanese日本精品少妇 | 大陆偷拍av | 2018天天拍拍天天爽视频 | 欧美三级又粗又硬 | 天堂av亚洲 | 新版本天堂资源在线中文8的特点 | 亚洲成人av免费观看 | 欧美一级在线免费 | 国产精品视频一区二区免费不卡 | 国产精品久久久久久久龚玥菲 | 好吊妞这里有精品 | 中文字幕av网址 | 少妇看片 | 中文字幕日韩欧美一区二区 | 日韩一区二区三区精品 | 蜜桃精品噜噜噜成人av | 日本丰满大乳免费xxxx | 成人动漫h在线观看 | 天堂av成人| 一二三四视频社区在线 | 精品久久久蜜桃 | 成人午夜福利视频后入 | 尤物网站在线观看 | 91黑人巨炮vs亚裔美女 | 涩里番在线观看 | 日韩欧美中文字幕在线播放 | 国产精品7m凸凹视频分类 | 欧美色图视频在线 | 51成人做爰www免费看网站 | 在线地址一地址二免费看 | 91亚洲国产成人久久精品网站 | 97精品伊人久久久大香线蕉97如何观看 | 青青热久免费精品视频在线播放 | 亚洲免费网址 | 18国产一二三精品国产 | 日本亚洲综合 | 成人在线免费av | 欧美大喷水吹潮合集在线观看 | 韩国呻吟大尺度激情视频 | 亚洲欧美字幕 | 日韩城人免费 | 国产99对白在线播放 | 大色综合色综合网站 | 三级三级久久三级久久 | 高h肉各种姿势g短篇np视频 | 美女久久精品 | 少妇被多人c夜夜爽爽 | 熟女少妇a性色生活片毛片 熟人妇女无乱码中文字幕 熟透的岳跟岳弄了69视频 | 99久久九九 | 亚洲综合日韩精品欧美综合区 | 天堂伊人 | 午夜黄视频 | 亚洲精品国产精品国自产在线 | 欧美日韩三级在线观看 | 欧美视频www | 国产在视频线在精品视频55 | 国产亚洲精品第一综合麻豆 | 国产人与zoxxxx另类一一 | 91一级片| 色欲综合久久中文字幕网 | 97在线免费视频观看 | 久久久久99精品成人片 | 国产乱人伦精品免费 | 久久精品黄色 | 青草伊人久久综在合线亚洲观看 | 91精品国产综合久久久密臀九色 | 性做久久久久久免费观看欧美 | 永久免费毛片在线播放 | 成人中文在线 | 老司机午夜影院 | 波多野结衣视频一区二区 | 欧美一区二区三区视频在线 | 免费播放黄色片 | 蜜桃日本免费看mv免费版 | 美女主播精品视频一二三四 | 国产精品奇米一区二区三区小说 | heyzo久久| 精品人妻伦九区久久aaa片 | 日韩美女啪啪 | 欧美美女性生活视频 | 亚洲三级影视 | 91草视频| 最全aⅴ番号库 | 一品道av | 亚洲欧美色视频 | 激情内射人妻1区2区3区 | 人妻巨大乳一二三区 | av黄色在线 | 久久最新网址 | 久久久成人999亚洲区美女 | 国产欧美在线一区二区三区 | 尤物久久av一区二区三区亚洲 | 永久免费看成品人影视 | 国产做爰视频 | 国产午夜手机精彩视频 | 亚洲人成网亚洲欧洲无码久久 | 欧美成人日韩 | 深夜福利免费观看 | 日本99视频| 日韩v| 与子敌伦刺激对白播放的优点 | 欧美v亚洲v综合ⅴ国产v | 性鲍视频在线 | 国产又粗又猛又黄视频 | 婷婷伊人综合亚洲综合网 | 女色琪琪窝窝777777换脸 | 久久久无码精品午夜 | 亚洲加勒比久久88色综合 | chinese麻豆新拍video | 中文字幕在线播放 | 香蕉尹人网 | 人妻熟人中文字幕一区二区 | 91久久久久久波多野高潮 | 女人被做到高潮视频 | 少妇性做爰xxxⅹ性视频 | 国产欧美激情日韩成人三区 |