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

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

JAVA Netty實現聊天室+私聊功能的示例代碼

瀏覽:3日期:2022-08-26 15:53:26

功能介紹

使用Netty框架實現聊天室功能,服務器可監控客戶端上下限狀態,消息轉發。同時實現了點對點私聊功能。技術點我都在代碼中做了備注,這里不再重復寫了。希望能給想學習netty的同學一點參考。

服務器代碼

服務器入口代碼

package nio.test.netty.groupChat;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.channel.ChannelPipeline;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.NioServerSocketChannel;import io.netty.handler.codec.string.StringDecoder;import io.netty.handler.codec.string.StringEncoder;import io.netty.util.concurrent.Future;import io.netty.util.concurrent.GenericFutureListener;/** * netty群聊 服務器端 * @author zhang * */public class NettyChatServer {private int port;public NettyChatServer(int port){this.port = port;}//初始化 netty服務器private void init() throws Exception{EventLoopGroup boss = new NioEventLoopGroup(1);EventLoopGroup work = new NioEventLoopGroup(16);try {ServerBootstrap boot = new ServerBootstrap();boot.group(boss,work);boot.channel(NioServerSocketChannel.class);//設置boss selector建立channel使用的對象boot.option(ChannelOption.SO_BACKLOG, 128);//boss 等待連接的 隊列長度boot.childOption(ChannelOption.SO_KEEPALIVE, true); //讓客戶端保持長期活動狀態boot.childHandler(new ChannelInitializer<SocketChannel>() {@Overrideprotected void initChannel(SocketChannel ch) throws Exception {//從channel中獲取pipeline 并往里邊添加HandlerChannelPipeline pipeline = ch.pipeline();pipeline.addLast('encoder',new StringEncoder());pipeline.addLast('decoder',new StringDecoder());pipeline.addLast(new ServerMessageHandler());//自定義Handler來處理消息}});System.out.println('服務器開始啟動...');//綁定端口 ChannelFuture channelFuture = boot.bind(port).sync();channelFuture.addListener(new GenericFutureListener<Future<? super Void>>() {@Overridepublic void operationComplete(Future<? super Void> future)throws Exception {if(future.isSuccess()){System.out.println('服務器正在啟動...');}if(future.isDone()){System.out.println('服務器啟動成功...OK');}}});//監聽channel關閉channelFuture.channel().closeFuture().sync();channelFuture.addListener(new GenericFutureListener<Future<? super Void>>() {@Overridepublic void operationComplete(Future<? super Void> future)throws Exception {if(future.isCancelled()){System.out.println('服務器正在關閉..');}if(future.isCancellable()){System.out.println('服務器已經關閉..OK');}}});}finally{boss.shutdownGracefully();work.shutdownGracefully();}}/** * 啟動服務器 main 函數 * @param args * @throws Exception */public static void main(String[] args) throws Exception {new NettyChatServer(9090).init();}}

服務器端消息處理Handler

package nio.test.netty.groupChat;import io.netty.channel.Channel;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.SimpleChannelInboundHandler;import io.netty.channel.group.ChannelGroup;import io.netty.channel.group.DefaultChannelGroup;import io.netty.util.concurrent.GlobalEventExecutor;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * 自定義 服務器端消息處理Handler * @author zhang * */public class ServerMessageHandler extends SimpleChannelInboundHandler<String>{/** * 管理全局的channel * GlobalEventExecutor.INSTANCE 全局事件監聽器 * 一旦將channel 加入 ChannelGroup 就不要用手動去 * 管理channel的連接失效后移除操作,他會自己移除 */private static ChannelGroup channels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);/** * 為了實現私聊功能,這里key存儲用戶的唯一標識, * 我保存 客戶端的端口號 * 當然 這個集合也需要自己去維護 用戶的上下線 不能像 ChannelGroup那樣自己去維護 */private static Map<String,Channel> all = new HashMap<String,Channel>();private SimpleDateFormat sf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');/** * 處理收到的消息 */@Overrideprotected void channelRead0(ChannelHandlerContext ctx, String msg)throws Exception {Channel channel = ctx.channel();/** * 這里簡單判斷 如果內容里邊包含#那么就是私聊 */if(msg.contains('#')){String id = msg.split('#')[0];String body = msg.split('#')[1];Channel userChannel = all.get(id);String key = channel.remoteAddress().toString().split(':')[1];userChannel.writeAndFlush(sf.format(new Date())+'n 【用戶】 '+key+' 說 : '+body);return;}//判斷當前消息是不是自己發送的for(Channel c : channels){String addr = c.remoteAddress().toString();if(channel !=c){c.writeAndFlush(sf.format(new Date())+'n 【用戶】 '+addr+' 說 : '+msg);}else{c.writeAndFlush(sf.format(new Date())+'n 【自己】 '+addr+' 說 : '+msg);}}}/** * 建立連接以后第一個調用的方法 */@Overridepublic void handlerAdded(ChannelHandlerContext ctx) throws Exception {Channel channel = ctx.channel();String addr = channel.remoteAddress().toString();/** * 這里 ChannelGroup 底層封裝會遍歷給所有的channel發送消息 * */channels.writeAndFlush(sf.format(new Date())+'n 【用戶】 '+addr+' 加入聊天室 ');channels.add(channel);String key = channel.remoteAddress().toString().split(':')[1];all.put(key, channel);}/** * channel連接狀態就緒以后調用 */@Overridepublic void channelActive(ChannelHandlerContext ctx) throws Exception {String addr = ctx.channel().remoteAddress().toString();System.out.println(sf.format(new Date())+' n【用戶】 '+addr+' 上線 ');}/** * channel連接狀態斷開后觸發 */@Overridepublic void channelInactive(ChannelHandlerContext ctx) throws Exception {String addr = ctx.channel().remoteAddress().toString();System.out.println(sf.format(new Date())+' n【用戶】 '+addr+' 下線 ');//下線移除String key = ctx.channel().remoteAddress().toString().split(':')[1];all.remove(key);}/** * 連接發生異常時觸發 */@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause)throws Exception {//System.out.println('連接發生異常!');ctx.close();}/** * 斷開連接會觸發該消息 * 同時當前channel 也會自動從ChannelGroup中被移除 */@Overridepublic void handlerRemoved(ChannelHandlerContext ctx) throws Exception {Channel channel = ctx.channel();String addr = channel.remoteAddress().toString();/** * 這里 ChannelGroup 底層封裝會遍歷給所有的channel發送消息 * */channels.writeAndFlush(sf.format(new Date())+'n 【用戶】 '+addr+' 離開了 ');//打印 ChannelGroup中的人數System.out.println('當前在線人數是:'+channels.size());System.out.println('all:'+all.size());}}

客戶端主方法代碼

package nio.test.netty.groupChat;import io.netty.bootstrap.Bootstrap;import io.netty.channel.Channel;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelPipeline;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.nio.NioSocketChannel;import io.netty.handler.codec.string.StringDecoder;import io.netty.handler.codec.string.StringEncoder;import io.netty.util.concurrent.Future;import io.netty.util.concurrent.GenericFutureListener;import java.util.Scanner;public class NettyChatClient {private String ip;private int port;public NettyChatClient(String ip,int port){this.ip = ip;this.port = port;}/** * 初始化客戶 */private void init() throws Exception{//創建監聽事件的監聽器EventLoopGroup work = new NioEventLoopGroup();try {Bootstrap boot = new Bootstrap();boot.group(work);boot.channel(NioSocketChannel.class);boot.handler(new ChannelInitializer<NioSocketChannel>() {@Overrideprotected void initChannel(NioSocketChannel ch)throws Exception {ChannelPipeline pipeline = ch.pipeline();pipeline.addLast('encoder',new StringEncoder());pipeline.addLast('decoder',new StringDecoder());pipeline.addLast(new ClientMessageHandler());}});ChannelFuture channelFuture = boot.connect(ip, port).sync();channelFuture.addListener(new GenericFutureListener<Future<? super Void>>() {@Overridepublic void operationComplete(Future<? super Void> future)throws Exception {if(future.isSuccess()){System.out.println('客戶端啟動中...');}if(future.isDone()){System.out.println('客戶端啟動成功...OK!');}}});System.out.println(channelFuture.channel().localAddress().toString());System.out.println('#################################################');System.out.println('~~~~~~~~~~~~~~端口號#消息內容~~這樣可以給單獨一個用戶發消息~~~~~~~~~~~~~~~~~~');System.out.println('#################################################');/** * 這里用控制臺輸入數據 */Channel channel = channelFuture.channel();//獲取channelScanner scanner = new Scanner(System.in);while(scanner.hasNextLine()){String str = scanner.nextLine();channel.writeAndFlush(str+'n');}channelFuture.channel().closeFuture().sync();scanner.close();} finally {work.shutdownGracefully();}}/** * 主方法入口 * @param args * @throws Exception */public static void main(String[] args) throws Exception{new NettyChatClient('127.0.0.1',9090).init();}}

客戶端消息處理Handler

package nio.test.netty.groupChat;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.SimpleChannelInboundHandler;/** * 客戶點消息處理 Handler * @author zhang * */public class ClientMessageHandler extends SimpleChannelInboundHandler<String> {/** * 處理收到的消息 */@Overrideprotected void channelRead0(ChannelHandlerContext ctx, String msg)throws Exception {System.out.println(msg);}/** * 連接異常后觸發 */@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause)throws Exception {ctx.close();}}

測試結果

啟動了四個客戶端 服務器端日志效果如下:

JAVA Netty實現聊天室+私聊功能的示例代碼

客戶端一端日志:

JAVA Netty實現聊天室+私聊功能的示例代碼

客戶端二日志:

JAVA Netty實現聊天室+私聊功能的示例代碼

客戶端三日志:

JAVA Netty實現聊天室+私聊功能的示例代碼

客戶端四日志:

JAVA Netty實現聊天室+私聊功能的示例代碼

現在在客戶端四發送消息:

JAVA Netty實現聊天室+私聊功能的示例代碼

每個客戶端都可以收到消息:

JAVA Netty實現聊天室+私聊功能的示例代碼

JAVA Netty實現聊天室+私聊功能的示例代碼

JAVA Netty實現聊天室+私聊功能的示例代碼

軟化關閉客戶端客戶端三:

服務器日志:

JAVA Netty實現聊天室+私聊功能的示例代碼

其他客戶端日志:

JAVA Netty實現聊天室+私聊功能的示例代碼

JAVA Netty實現聊天室+私聊功能的示例代碼

JAVA Netty實現聊天室+私聊功能的示例代碼

發送私聊消息:

JAVA Netty實現聊天室+私聊功能的示例代碼

這個客戶端收不到消息

JAVA Netty實現聊天室+私聊功能的示例代碼

JAVA Netty實現聊天室+私聊功能的示例代碼

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

標簽: Java
相關文章:
主站蜘蛛池模板: 91精品国产乱码久久蜜臀 | 久久综合社区 | 日韩精品免费视频 | 久久av网| 91精品国产乱码久久久久久 | 91精品国产综合久久婷婷香蕉 | 99国产精品久久久久久久久久 | 免费一区二区 | 在线观看午夜免费视频 | 免费看a | 日本一级中文字幕久久久久久 | 欧美日韩精品一区二区三区 | 禁果av一区二区三区 | h网站在线观看 | 日韩污视频在线观看 | 午夜天堂精品久久久久 | 久草av在线播放 | 天天操,夜夜操 | 中文字幕视频在线观看 | 欧美日韩国产一区二区三区 | 国产欧美在线播放 | 毛片精品| 黑人巨大精品欧美黑白配亚洲 | 亚洲一区不卡在线 | 欧美日一区二区 | 成人深夜在线 | 亚洲区视频 | 在线观看成人 | 欧美另类国产 | 国产一区二区黑人欧美xxxx | 国产一区二区视频免费看 | 日本成人在线视频网站 | 国产精品中文 | 中文字幕第一页在线 | 97理论片| av大片在线观看 | 日韩欧美h | 国产免费久久 | 久久青青视频 | 亚洲特级| 中文字幕在线观看免费 | 亚洲国产精品一区二区久久 | gav成人免费播放视频 | 亚洲麻豆 | 一区二区色 | 色综合天天天天做夜夜夜夜做 | 国产亚洲一区二区三区在线观看 | 国精日本亚洲欧州国产中文久久 | 日韩中文在线观看 | 成人小视频在线观看 | 国产精品国产三级国产aⅴ 精品91 | 国产免费久久 | 国产在线精品一区二区三区 | 97精品国产 | 操操网站| 一级黄色片日本 | 毛片网络| 欧美jizzhd精品欧美巨大免费 | 国产在线观看免费av | 亚洲永久免费视频 | 日韩一日 | 91精品国产综合久久福利软件 | 一区二区三区四区精品 | 免费毛片在线播放 | 久久国产精品免费一区二区三区 | 老熟女毛片 | 久久久极品 | 午夜三区 | 九色porny国模私拍av | 欧美激情a∨在线视频播放 成人免费共享视频 | 午夜影院a | 色九九 | 久久久久久久 | 欧美一区2区三区4区公司二百 | 综合精品久久久 | 亚洲一区二区三区爽爽爽爽爽 | 91超碰在线播放 | 日韩精品一 | 国产高清中文字幕 | 日日夜夜精品网站 | 九九99热 | 日韩6699人妻熟女毛片 | 吴梦梦到粉丝家实战华中在线观看 | 视频一区二区国产 | 欧美成视频| 欧美在线国产 | 国产在线观看一区 | 欧美一区二区三区在线 | 亚洲视频中文字幕 | 欧美亚洲另类在线 | 日韩一区中文字幕 | 乳色吐息在线观看 | 天天干天天曰天天操 | 欧美区视频 | 国产91九色 | 精品香蕉一区二区三区 | 在线免费av观看 | 中文字幕亚洲一区二区三区 | 人人射人人草 | 九九热这里都是精品 | 一区二区三区免费在线 | 国产色黄视频 | 精品一区二区三区三区 | 欧美成人午夜视频 | 日本高清h色视频在线观看 日日干日日操 | 国产女人爽到高潮免费视频 | 久久久久久国产精品 | 不卡视频一二三区 | 91免费观看 | 欧美激情一区二区三区 | h亚洲视频 | 91国在线高清视频 | 午夜激情视频免费 | 欧美日韩精品一区二区在线观看 | 精品在线91| 日本黄色免费大片 | 亚洲欧美国产毛片在线 | 亚洲一区二区三 | av在线免费观看一区二区 | 成人在线视频一区二区 | 国产精品手机在线 | 激情五月婷婷在线 | 国产欧美精品一区aⅴ影院 毛片视频网站 | 91在线视频播放 | 我要看黄色一级大片 | 一区二区三区免费av | 亚洲精品久久 | 欧美日韩精品一区二区在线观看 | 日日干夜夜操 | 免费大黄网站 | 久久精品欧美一区二区三区不卡 | 日韩无| 一二三四在线视频观看社区 | 精品免费国产 | 亚洲精品久久久久久久久久久 | 亚洲 自拍 另类 欧美 丝袜 | 亚洲欧美精品 | 美女久久久久 | av在线一区二区三区 | 色999精品| 日韩在线视频观看 | 看毛片网站 | 亚洲高清视频在线 | 午夜精品视频在线观看 | 久99视频| 欧美大片一区二区 | 日韩影音 | 韩国三级中文字幕hd久久精品 | 亚洲激情在线 | 一区精品视频 | 欧美午夜影院 | 中文字幕二区 | 日韩免费| 久久久久久久免费 | 国产成人久久精品一区二区三区 | 久久国产精品免费一区二区三区 | 99精品欧美一区二区三区综合在线 | 激情毛片| 久久久久久久久一区二区三区 | 91精品久久久久久久久久 | 国产一区免费在线观看 | 国产精品第一国产精品 | 国产美女精品一区二区三区 | 午夜精品久久久久久久久久久久久 | 国产精品亚洲一区二区三区 | 久久精品亚洲精品国产欧美 | 四虎免费紧急入口观看 | 国产色在线观看 | 久久精品亚洲一区二区 | 欧美日韩一区二区三区四区 | 亚洲午夜精品片久久www慈禧 | 国产精品久久久久久久久久久久久久 | 国产在线视频一区 | 国产偷久久9977 | 老牛嫩草一区二区三区眼镜 | 日本成人中文字幕 | 精品久久久久久亚洲综合网站 | 欧美2区| 国产一区 | 毛片国产 | 一区二区精品 | 日韩国产精品视频 | 黄在线免费观看 | 亚洲国产一区二区三区四区 | 黄色永久网站 | 日韩欧美一区二区三区视频 | 亚洲精品视频一区二区三区 | 日本在线视频一区二区 | 中文字国产精久久无 | 亚洲国产激情 | 国产精品人人做人人爽人人添 | 日韩中文一区二区 | 日韩欧美在线看 | 大黄网站在线观看 | 91网在线播放 | 成人性视频在线 | 色视频网站在线观看 | 日本超碰在线 | 一区不卡 | 国产成人精品高清久久 | 国产福利片在线观看 | 欧美九九 | 亚洲精品久久久久一区二区三区 | 日韩精品久久理论片 | 日韩欧美h | 国产在线免费 | 欧美黄色片免费观看 | 精品成人av| 亚洲在线观看免费视频 | 日韩欧美国产一区二区三区 | 亚洲精品乱码久久久久久花季 | 黄在线看v| 久久精品中文字幕 | 日韩中文在线 | 99热.com| 国产精精品 | 美女视频一区二区三区 | 国产精品久久av | 欧美中文字幕在线观看 | 欧美日韩中文字幕 | 久久国内免费视频 | 狠狠干很很操 | 国产精品自拍一区 | 国产三级黄色毛片 | 欧美久久久久久久久久 | 日韩欧美精品一区二区三区 | 日韩国产欧美一区 | 中文字幕在线不卡 | 久久久免费视频播放 | 黄色成人免费看 | 欧洲一区在线 | 亚洲欧美日韩国产 | 亚洲午夜精品 | 国产福利在线观看视频 | 国产精品影院在线观看 | 国产精品久久久久久吹潮 | 91麻豆精品国产91久久久更新资源速度超快 | 久久久久91 | 最新免费av网站 | 一级片黄色免费 | 国产色在线 | 亚洲精品一区二三区不卡 | 国产在线a | 狠狠狠狠狠狠干 | 色悠久久久 | 亚洲欧美日韩在线 | 色橹橹欧美在线观看视频高清 | 国产精品久久久久久久一区探花 | 国产大片久久久 | 一区二区三区在线免费播放 | 精品国产视频 | 欧美在线激情 | 日本一区二区在线视频 | 毛片毛片毛片毛片毛片毛片 | 日本中文字幕在线播放 | 亚洲久久一区 | 久草视频播放 | 91精品国产一区二区三区蜜臀 | 综合二区 | 国产精品免费一区二区三区四区 | 毛片视频免费 | 伊人色播 | 欧美精品综合 | 青草青草久热精品视频在线观看 | 国产精品久久久久久久毛片 | 久久99国产精品 | 精品无码久久久久国产 | 精品一区二区不卡 | 羞羞视频在线观看入口 | 亚洲第一免费看片 | 欧美 日韩 国产 一区 | 国产精品久久久久久久久免费高清 | 三级在线视频 | 亚洲精品久久久 | 91精品久久久久 | 精品久久久久久久久久久久 | 免费看一区二区三区 | 999视频在线 | 日本高清视频网站 | 成人精品免费视频 | 一级一级毛片 | 国产在线高清 | 午夜精品久久 | 久久毛片 | a毛片| 精品久久久久久久久久久久久久 | 国产一级毛片在线视频 | 国产在线激情 | 国产人妖一区 | 国产一区在线视频 | 亚洲色图p | 精品成人av | 影音先锋亚洲精品 | 国产高清中文字幕 | 久久久高清 | 99这里只有精品视频 | 欧美一区二区三区视频在线观看 | 欧美久久久久 | 91一区二区三区 | 91精品在线播放 | 亚洲成av | 欧美日韩一区二区三区在线观看 | 欧美久久久久久久 | 亚洲免费视频在线观看 | av网站免费| 亚洲视频中文 | av日韩在线看| av天空| av成人在线观看 | 伊人婷婷 | 日韩在线免费 | 亚洲久久一区 | 日韩欧美国产精品 | 亚洲精品久久久久国产 | 亚洲激情在线 | 成人亚洲网| 欧美精品久久久 | 亚洲一区在线视频 | 亚洲欧美一区二区三区在线 | 亚洲综合中文网 | 国色天香成人网 | 黄色av观看| av免费网站在线观看 | 成人永久免费视频 | 69久久久| 欧美日韩精品一区二区在线播放 | 午夜成人在线视频 | 亚洲国产精品免费 | 能直接看的av网站 | 亚洲精品免费在线观看 | 天堂综合网 | 久久久久黄色 | 黑人巨大精品欧美一区二区免费 | 午夜电影网址 | 亚洲中午字幕 | 亚洲一区二区三区四区在线观看 | 国产成人精品一区二区三区在线 | 国产成人av在线 | 香蕉视频91 | 成人毛片视频网站 | 亚洲日韩欧美一区二区在线 | 无套内谢孕妇毛片免费看红桃影视 | 天天干在线影院 | 蜜桃免费一区二区三区 | 最新黄色网页 | 精品国产乱码久久久久久久 | 国产精品久久久久一区二区三区 | 久久国产精品系列 | 精品国产一区探花在线观看 | 国产日韩欧美激情 | 亚洲国产精品一区 | 午夜影院在线看 | 女男羞羞视频网站免费 | 伊人av成人 | 精品欧美一区二区精品久久久 | 日韩最新网址 | 国产精品色婷婷亚洲综合看 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 国产精品第一 | 精品欧美一区二区在线观看视频 | www.av在线| 日韩精品在线观看免费 | 国产精品久久久久久亚洲调教 | 欧美亚洲另类在线 | 成人在线小视频 | 97碰碰碰| 一区二区免费在线播放 | 亚洲国产精品99久久久久久久久 | 日韩欧美不卡 | 欧美精品一区二区在线观看 | 精品国产一区二区三区久久久蜜臀 | 九九香蕉视频 | 久久久久91| 成人在线高清视频 | 免费看a| 狠狠躁夜夜躁人人爽天天高潮 | 日韩精品一区二区三区在线观看 | 99久久久无码国产精品 | 日韩av一级片 | 午夜免费剧场 | 欧美一区二区三区 | 欧美三级视频在线播放 | 国产精品久久久久久久一区探花 | 国产在线视频一区 | 国产精品人人做人人爽 | 五月婷婷综合激情 | 精品日韩在线 | 午夜电影网站 | 亚洲精品久久一区二区三区 | 在线免费看黄视频 | av网址在线播放 | 亚洲精品自在在线观看 | 国产精品一区免费在线观看 | 国产亚洲一区二区三区 | 久久亚洲免费 | 中文字幕三区 | 91精品久久久久久久久中文字幕 | 亚洲欧美一区二区三区在线 | 国产欧美一区二区三区国产幕精品 | 91精品国产一区二区三区蜜臀 | 国产91黄色| 91男女视频 | 日韩在线欧美 | 成人在线免费 | 欧美一区日韩一区 | 欧美日韩亚洲国产综合 | av在线影院 | 中文字幕国产日韩 | 国产传媒视频 | 欧美一级黄视频 | 亚洲欧美日韩一区 | 狠狠av| va在线观看 | 欧洲另类在线1 | 国产精品一区二区三区在线 | 欧洲亚洲视频 | 久久精品亚洲欧美日韩精品中文字幕 | 国产成人精品一区二区 | 男女羞羞视频网站18 | 日韩成年视频 | 欧美日韩视频 | 国产日韩欧美91 | 久久精品一区 | 亚洲一区二区三区免费在线观看 | 在线播放亚洲 | 成人av一区二区三区 | 亚洲中午字幕 | 91性高湖久久久久久久久网站 | 成人精品一区二区三区中文字幕 | 国产精品不卡 | 国产精品中文字幕在线 | 91免费版在线观看 | 亚洲精品久久久一区二区三区 | 久久精品免费看 | 国产成人午夜 | 一区二区久久久 | 国产视频2021| 国产一区二区精品 | 成人影院欧美黄色 | 在线国产视频 | 玖玖玖视频| 免费在线观看成年人视频 | 日韩电影在线 | 欧洲成人午夜免费大片 | 国产精品毛片无码 | 一级黄色影片在线观看 | 午夜一级毛片 | 成年人在线视频播放 | 国产精品免费观看 | 欧美激情在线免费观看 | 亚洲国产精品久久久 | 久草视频播放 | 国产精品视频一二三区 | 亚洲在线成人 | 精品久久久久一区二区国产 | 日韩av电影在线免费观看 | 日韩av一区二区三区在线观看 | 99视频在线 | 在线播放亚洲 | 夜夜夜操操操 | 岛国av免费看 | 天天天操操操 | 自拍偷拍一区二区三区 | 国产欧美视频在线 | www狠狠干| 性视频一区 | 亚洲毛片在线 | 欧美三级视频 | av片在线观看 | 中文字幕在线观看一区二区三区 | 成人av在线看 | 国产一区二区在线播放 | 亚洲国产免费看 | 中文久久 | 日日干夜夜操 | 少妇精品久久久久久久久久 | 黄色一级视屏 | 韩日精品| 成人免费淫片aa视频免费 | 欧洲成人在线观看 | 国产乱码精品一区二区三区av | 三a毛片| 成人在线视频免费 | 性国产xxxx乳高跟 | av黄色在线播放 | 婷婷久久五月天 | 日韩一区精品 | 久久激情视频 | 91在线免费看 | 亚洲福利在线播放 | 亚洲免费片 | 思热99re视热频这里只精品 | 亚洲欧美日韩精品久久奇米色影视 | 综合久久久久 | 三级黄色片在线观看 | 免费的黄色网 | 国产成人免费 | 成人免费视频网站在线看 | 国产日韩精品视频 | 亚洲激情网站 | 亚洲精品成人av | 伊人狠狠干 | 日韩精品免费观看 | 国产精品久久久久婷婷二区次 | 久久国产美女 | 精品久久久久久久久久久下田 | 久久精品一区二区三区四区毛片 | 欧美国产一区二区三区 | 午夜亚洲电影 | 欧美成人免费 | 日韩视频三区 | 日韩一级 | 欧美色欧美亚洲另类七区 | 精品日韩欧美一区二区三区在线播放 | 日本免费www | 精品视频二区 | 麻豆一区 | 久久久www | 国产精品久久久久久久久久久久 | 精品久久久久久国产三级 | 97超碰在线免费 | 亚洲怡红院在线观看 | 免费久久网站 | 亚洲成人黄色 | 山岸逢花在线观看无删减 | 欧美一区2区三区4区公司二百 | 日韩在线视频精品 | 欧美精品一区二区三区手机在线 | 成人爽a毛片一区二区免费 美女高潮久久久 | 国产精品婷婷久久久久 | 精品久久久久久久久久久久久久 | 日韩精品在线播放 | 婷婷久久综合九色综合绿巨人 | 国产免费拔擦拔擦8x高清在线人 | 国产精品一区久久 | 成年人福利| 福利在线看 | 一区二区三区视频免费在线观看 | 亚洲视频一区在线 | 欧美啊v| 中文字幕视频在线免费观看 | 欧美午夜一区二区福利视频 | 激情婷婷| 欧美日韩精品久久久久 | 在线观看理论电影 | 欧美一区二区三区四区五区 | 亚洲国产情侣自拍 | 日韩av在线不卡 | 99视频免费看| av一区二区在线观看 | 大黑人交xxx极品hd | 爱操在线 | 亚洲一区视频在线 | 黄色免费在线观看 | 日韩国产欧美视频 | 亚洲一区二区三区四区的 | 中文字幕在线一区 | 无码国模国产在线观看 | 国产精品伦理一区 | 亚洲精品一区在线观看 | 久久精品国产99精品国产亚洲性色 | av在线成人 | 久久久久精 | 欧美日韩中 | 中文字幕亚洲欧美日韩在线不卡 | 色婷婷亚洲一区二区三区 | 亚洲高清视频在线观看 | 亚洲精彩视频 | 成人精品一区二区三区 | 欧美日韩在线精品 | 久久综合久久久 | 亚洲精品久久久一区二区三区 | 欧美一区二区三区成人 | 亚洲精品片 | a级毛片黄 | 日日夜夜狠狠 | 国产福利视频 | 欧美久久久久 | 久久精品a级毛片 | 亚洲午夜在线 | 北条麻妃99精品青青久久 | 国产精品久久久久久一区二区三区 | 天堂在线中文 | 一区二区三区四区在线 | 亚洲免费在线观看 | 国产一区二区三区免费视频 | 91精品国产综合久久久久久丝袜 | 91精品综合久久久久久五月天 | 国产精品亚洲一区二区三区 | 欧美视频在线一区 | 国产69精品久久久久观看黑料 | 男人天堂av网站 | www.国产视频| 99精品不卡 | 精品亚洲一区二区三区在线观看 | 亚洲高清资源 | 精品入口麻豆88视频 | 一区二区三区视频免费看 | 中文久久 | 国产一级淫片a级aaa | 美女视频一区二区三区 | 91色乱码一区二区三区 | 国产干干干 | 久久99久久99精品免视看婷婷 | 亚洲精品乱码久久久久久按摩观 | 99热国产在线观看 | 成人精品视频免费 | 麻豆91在线观看 | 在线国产一区二区 | 一区二区免费看 | 成人婷婷| 天天操网 | 久久se精品一区精品二区 | 爱干在线 | 成人伊人网 |