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

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

Java實現聊天機器人完善版

瀏覽:137日期:2022-08-09 11:23:22

本文實例為大家分享了Java實現聊天機器人完善版的具體代碼,供大家參考,具體內容如下

Java實現聊天機器人完善版

Client代碼:

package GUISocket.chat.Client;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.EventQueue; import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JTextField;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JTextArea;import javax.swing.JScrollPane;import javax.swing.ScrollPaneConstants;import javax.swing.border.EmptyBorder; import java.awt.event.ActionListener;import java.awt.event.ActionEvent; public class ClientForm extends JFrame { private JPanel contentPane; DefaultListModel<String> itemUsers; private JTextField textIP; private JTextField textPort; public JTextField textUser; public JTextArea textLog; public JList listUser; public JTextArea textSend ; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { ClientForm frame = new ClientForm(); frame.setVisible(true); ClientMG.getClientMG().setClientForm(frame); } catch (Exception e) { e.printStackTrace(); } } }); } public ClientForm() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 589, 607); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel label = new JLabel('配置信息'); label.setBounds(10, 10, 54, 15); contentPane.add(label); JLabel lblIp = new JLabel('IP'); lblIp.setBounds(10, 35, 27, 15); contentPane.add(lblIp); textIP = new JTextField(); textIP.setText('192.168.1.6'); textIP.setBounds(33, 35, 92, 21); contentPane.add(textIP); textIP.setColumns(10); JLabel label_1 = new JLabel('端口'); label_1.setBounds(137, 35, 38, 15); contentPane.add(label_1); textPort = new JTextField(); textPort.setText('8900'); textPort.setBounds(168, 32, 66, 21); contentPane.add(textPort); textPort.setColumns(10); JLabel label_2 = new JLabel('用戶名'); label_2.setBounds(255, 38, 54, 15); contentPane.add(label_2); textUser = new JTextField(); textUser.setBounds(302, 35, 66, 21); contentPane.add(textUser); textUser.setColumns(10); JButton LOGIN = new JButton('登錄'); LOGIN.setBounds(395, 34, 66, 23); contentPane.add(LOGIN); JButton btnClose = new JButton('關閉'); btnClose.setBounds(480, 31, 71, 23); contentPane.add(btnClose); JPanel panel = new JPanel(); panel.setBounds(0, 10, 573, 61); contentPane.add(panel); panel.setLayout(null); JPanel panel_1 = new JPanel(); panel_1.setBounds(0, 81, 573, 369); contentPane.add(panel_1); panel_1.setLayout(null); JLabel label_3 = new JLabel('聊天記錄'); label_3.setBounds(10, 10, 54, 15); panel_1.add(label_3); JScrollPane scrollPane = new JScrollPane(); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(20, 35, 323, 324); panel_1.add(scrollPane); textLog = new JTextArea(); textLog.setWrapStyleWord(true); textLog.setLineWrap(true); scrollPane.setViewportView(textLog); JLabel label_4 = new JLabel('在線用戶'); label_4.setBounds(351, 10, 54, 15); panel_1.add(label_4); JScrollPane scrollPane_1 = new JScrollPane(); scrollPane_1.setBounds(353, 35, 210, 324); panel_1.add(scrollPane_1); this.itemUsers=new DefaultListModel<String>(); this.listUser=new JList(itemUsers); scrollPane_1.setViewportView(this.listUser); JPanel panel_2 = new JPanel(); panel_2.setBounds(10, 449, 553, 119); contentPane.add(panel_2); panel_2.setLayout(null); JLabel label_5 = new JLabel('操作'); label_5.setBounds(10, 10, 54, 15); panel_2.add(label_5); JScrollPane scrollPane_2 = new JScrollPane(); scrollPane_2.setBounds(10, 22, 533, 64); panel_2.add(scrollPane_2); textSend = new JTextArea(); textSend.setWrapStyleWord(true); textSend.setLineWrap(true); scrollPane_2.setViewportView(textSend); JButton button_1 = new JButton('群發'); button_1.addActionListener(new Button_1ActionListener()); button_1.setBounds(307, 86, 93, 23); panel_2.add(button_1); JButton sendMG = new JButton('發送'); sendMG.addActionListener(new SendMGActionListener()); sendMG.setBounds(432, 86, 93, 23); panel_2.add(sendMG); LOGIN.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //連接服務器user String IP=textIP.getText().trim(); int port=Integer.parseInt(textPort.getText().trim()); String user=textUser.getText().trim();if(ClientMG.getClientMG().Connect(IP,port,user)) { ClientMG.getClientMG().setLogTxt('已經連接到服務器'); } else { ClientMG.getClientMG().setLogTxt('連接服務器失敗'); } } }); } private class SendMGActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { //發送信息 //1.獲取選擇的用戶名稱 //2.發送給服務器端含有接收用戶信息的交互協議串 String SenderName=ClientMG.getClientMG().getClientThd().getName(); String RecName=listUser.getSelectedValue().toString(); String MSGinfo=textSend.getText().trim(); String sMsg='MSG|'+SenderName+'|'+RecName+'|'+MSGinfo; ClientMG.getClientMG().getClientThd().sendMsg(sMsg); //將消息內容顯示到聊天記錄中 //[發送者] //消息內容 //清空發送消息框 ClientMG.getClientMG().setLogTxt('[我]:'); ClientMG.getClientMG().setLogTxt(MSGinfo); textSend.setText(''); } } private class Button_1ActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { //群發信息 //1.獲取選擇的用戶名稱 //2.發送給服務器端含有接收用戶信息的交互協議串 //發送到服務器,MSG|SenderName|RecName|MSGInfo String SenderName=ClientMG.getClientMG().getClientThd().getName(); String RecName='ALL'; String MSGinfo=textSend.getText().trim(); String sMsg='MSG|'+SenderName+'|'+RecName+'|'+MSGinfo; ClientMG.getClientMG().getClientThd().sendMsg(sMsg); //將消息內容顯示到聊天記錄中 //[發送者] //消息內容 //清空發送消息框 ClientMG.getClientMG().setLogTxt('[我]:'); ClientMG.getClientMG().setLogTxt(MSGinfo); textSend.setText(''); } } }

ClientMG代碼:

package GUISocket.chat.Client; import java.net.Socket; public class ClientMG { private static final ClientMG clientmg=new ClientMG(); private ClientMG() {} public static ClientMG getClientMG() { return clientmg; } private ClientForm clientWin; public void setClientForm(ClientForm c) { clientWin=c; } public void setLogTxt(String str) { clientWin.textLog.append(str+'rn'); } public void addItem(String user) { clientWin.itemUsers.addElement(user); } public void addItems(String[] users) { for(int i=0;i<users.length;i++) { clientWin.itemUsers.addElement(users[i]); } } SocketThread sthd; public boolean Connect(String IP,int port,String user) { Socket socket=null; try { socket=new Socket(IP,port); sthd=new SocketThread(socket, user); sthd.start(); return true; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return false; } } public SocketThread getClientThd() { return sthd; }}

SocketThread代碼:

package GUISocket.chat.Client; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket; public class SocketThread extends Thread{ BufferedReader br=null; PrintWriter pw=null; Socket socket=null; public SocketThread(Socket socket,String user){ super(user);//登錄時用的用戶名 this.socket=socket; } public void run() { try { br=new BufferedReader(new InputStreamReader(socket.getInputStream(), 'UTF-8')); pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),'UTF-8'))); String sLOGIN='LOGIN|'+this.getName(); sendMsg(sLOGIN); String str=''; while((str=br.readLine())!=null) { String[] commands=str.split('|'); if(commands[0].equals('USERLISTS')) {//USERLISTS|user1_user2_user3 String[] sUsers=commands[1].split('_'); ClientMG.getClientMG().addItems(sUsers); } else if(commands[0].equals('ADD')) {//ADD|UserName String sNewUser=commands[1]; ClientMG.getClientMG().addItem(sNewUser); } else if(commands[0].equals('MSG')) {//格式 MSG|SenderName|MSGinfo String SenderName=commands[1]; String MSGinfo=commands[2]; //將消息內容顯示到聊天記錄中 //[發送者] //消息內容 ClientMG.getClientMG().setLogTxt('['+SenderName+']'); ClientMG.getClientMG().setLogTxt(MSGinfo); } //ClientMG.getClientMG().setLogTxt(str); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally { try { if(pw!=null) pw.close(); if(br!=null) br.close(); if(socket!=null) socket.close(); } catch (Exception e2) { // TODO: handle exception } } } public void sendMsg(String str) { pw.println(str); pw.flush(); }}

ServerForm代碼:

package GUISocket.chat.Server;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.EventQueue; import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JButton;import javax.swing.JTextArea;import javax.swing.JScrollPane;import javax.swing.ScrollPaneConstants;import javax.swing.border.EmptyBorder; import java.awt.event.ActionListener;import java.awt.event.ActionEvent; public class ServerForm extends JFrame { /** * */ private JPanel contentPane; public JTextArea textLog; private JTextField textPort; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { ServerForm frame = new ServerForm(); frame.setVisible(true); ServerMG.getServerMG().setServerForm(frame); } catch (Exception e) { e.printStackTrace(); } } }); } public ServerForm() { setTitle('多人聊天服務器'); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 510, 566); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblNewLabel = new JLabel('配置信息'); lblNewLabel.setBounds(20, 10, 54, 15); contentPane.add(lblNewLabel); JLabel label = new JLabel('端口:'); label.setBounds(30, 34, 39, 15); contentPane.add(label); textPort = new JTextField(); textPort.setText('8900'); textPort.setBounds(65, 31, 66, 21); contentPane.add(textPort); textPort.setColumns(10); JButton btnStart = new JButton('開啟服務'); btnStart.addActionListener(new BtnStartActionListener()); btnStart.setBounds(180, 30, 93, 23); contentPane.add(btnStart); JButton btnClose = new JButton('關閉服務'); btnClose.addActionListener(new BtnCloseActionListener()); btnClose.setBounds(325, 30, 93, 23); contentPane.add(btnClose); JPanel panel = new JPanel(); panel.setBounds(10, 10, 474, 54); contentPane.add(panel); panel.setLayout(null); JLabel label_1 = new JLabel('消息記錄'); label_1.setBounds(10, 94, 54, 15); contentPane.add(label_1); JPanel panel_1 = new JPanel(); panel_1.setBounds(0, 81, 474, 436); contentPane.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(10, 41, 464, 368); panel_1.add(scrollPane); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); textLog = new JTextArea(); textLog.setLineWrap(true); textLog.setWrapStyleWord(true); scrollPane.setViewportView(textLog); } private class BtnCloseActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { } } private class BtnStartActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { //開啟服務 int port=Integer.parseInt(textPort.getText().trim()); if(ServerMG.getServerMG().CreateServer(port)) { ServerMG.getServerMG().setLogTxt('服務器開啟...'); } else { ServerMG.getServerMG().setLogTxt('服務器開啟失敗...'); } } }}

ServerListener代碼:

package GUISocket.chat.Server; import java.net.ServerSocket;import java.net.Socket; public class ServerListener extends Thread{ Socket socket=null; ServerSocket server=null; public ServerListener(ServerSocket server) { this.server=server; } public void run() { try { while(true) { socket=server.accept(); ServerMG.getServerMG().setLogTxt('客戶端: '+socket); new SocketThread(socket).start(); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }

SeverMG代碼:

package GUISocket.chat.Server; import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList; import javax.swing.JTextArea; public class ServerMG { private static final ServerMG servermg=new ServerMG(); private ServerMG() {} public static ServerMG getServerMG() { return servermg; } //主界面的操作 private ServerForm serverWin; //將窗體對象注冊到管理類當中 public void setServerForm(ServerForm s) { serverWin=s; } //設置主界面 public void setLogTxt(String str) { serverWin.textLog.append(str+'rn'); } private ServerSocket server; public boolean CreateServer(int port) { try { server=new ServerSocket(port); new ServerListener(server).start(); return true; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return false; } } //ArrayList操作 ArrayList<SocketThread> a1OnlineList=new ArrayList<>();//存放所有和 public synchronized void addList(SocketThread sc) { //限制重名 a1OnlineList.add(sc); } public void clearList() { a1OnlineList.clear(); } public synchronized void removeList(SocketThread sc) { for(int i=0;i<a1OnlineList.size();i++) { SocketThread s=a1OnlineList.get(i); if(s.equals(sc)) { a1OnlineList.remove(sc); break; } } } //信息的管理 public void getOnlineNames(SocketThread sc) { //非第1次登錄時,得到所有的在線用戶 if(a1OnlineList.size()>0) { String sUsers='';//給客戶端,USERLISTS|user1_user2_user3 for(int i=0;i<a1OnlineList.size();i++) { SocketThread s=a1OnlineList.get(i); sUsers+=s.getName()+'_'; } sc.sendMsg('USERLISTS|'+sUsers); } } public void sendNewUsertoAll(SocketThread sc) { for(int i=0;i<a1OnlineList.size();i++) { SocketThread s=a1OnlineList.get(i); s.sendMsg('ADD|'+sc.getName()); } } //通過Mame用戶名查找目標 public SocketThread getSocketThreadByName(String sName) { for(int i=0;i<a1OnlineList.size();i++) { SocketThread s=a1OnlineList.get(i); if(s.getName().equals(sName)) { return s; } } return null; } //發送給所有人,但是要排除自身 public void sendMsgtoAll(String sMsg,SocketThread sc) { for(int i=0;i<a1OnlineList.size();i++) { SocketThread s=a1OnlineList.get(i); if(!s.equals(sc)) { s.sendMsg(sMsg); } } } }

SocketThread代碼:

package GUISocket.chat.Server; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket; public class SocketThread extends Thread{ BufferedReader br=null; PrintWriter pw=null; Socket socket=null; public SocketThread(Socket socket) { this.socket = socket; } public void run() { try { br=new BufferedReader(new InputStreamReader(socket.getInputStream(), 'UTF-8')); pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),'UTF-8'))); String str=''; while((str=br.readLine())!=null) {//循環響應客戶的發送信息//接受客戶端發過來的信息 String [] commands=str.split('|');if(commands[0].equals('LOGIN')) {//解析登錄請求,格式,LOGIN|UserName String sUSER=commands[1]; this.setName(sUSER);//將用戶名信息放入Threadname中 //1.得到所有在線用戶信息名稱,發回客戶端:USERLISTS|user1_user2_user3 ServerMG.getServerMG().getOnlineNames(this); //2.將當前登錄用戶的信息(用戶名),發送給已經在線的其他用戶,ADD|userName ServerMG.getServerMG().sendNewUsertoAll(this); //3.將當前登錄的Socket信息放入ArrayList中 ServerMG.getServerMG().addList(this); } else if(commands[0].equals('MSG')) {//格式:MSG|SenderName|RecName|MSGoinfo String SenderName=commands[1]; String RecName=commands[2]; String MSGinfo=commands[3]; //群聊 if(RecName.equals('ALL')) { String sMsg='MSG!'+SenderName+'|'+MSGinfo;//格式:MSG|SenderName|MSGinfo ServerMG.getServerMG().sendMsgtoAll(sMsg,this); ServerMG.getServerMG().setLogTxt(SenderName+'發送信息['+MSGinfo+']到所有人。'); } //私聊 else { //通過RecName用戶名查找,找到目標SocketThread SocketThread sc=ServerMG.getServerMG().getSocketThreadByName(RecName); if(sc!=null) {//目標對象發送信息,MSG|SenderName|MSGinfoString sMsg='MSG!'+SenderName+'|'+MSGinfo;sc.sendMsg(sMsg);//寫入信息日志ServerMG.getServerMG().setLogTxt(SenderName+'發送信息['+MSGinfo+']到'+RecName); } } } } } catch (Exception e) { e.printStackTrace(); }finally { try { if(pw!=null) pw.close(); if(br!=null) br.close(); if(socket!=null) socket.close(); } catch (Exception e2) { // TODO: handle exception } } } public void closeChat() { try { if(pw!=null) pw.close(); if(br!=null) br.close(); if(socket!=null) socket.close(); } catch (Exception e) { e.printStackTrace(); } } public void sendMsg(String str) { pw.println(str); pw.flush(); }}

實現結果如下:

Java實現聊天機器人完善版

Java實現聊天機器人完善版

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 日韩中文字幕亚洲欧美 | 久久无码人妻热线精品 | 天天看黄色片 | 亚洲国产精品久久久久婷婷老年 | 黑人玩弄出轨人妻松雪 | 日本特黄成人 | 91网站在线免费观看 | 国产成人精品在线播放 | 叼嘿视频91 | 在线免费视频一区 | 国产女主播白浆在线观看 | 亚洲v欧美v国产v在线观看 | 久久人人爽人人爽人人片 | 成年视频在线播放 | av有码在线 | 看片国产| 成人av网站大全 | 亚洲综合国产一区二区三区 | 国产精品videossex国产高清 | 天天综合色网 | 欧美日韩在线精品 | wwwsss在线观看 | 欧美激情久久久久久 | 色综合色狠狠天天综合色 | 欧美精品一区二 | 双性精跪趴灌满h室友4p视频 | 一本到不卡 | 午夜福利92国语 | 成人动漫久久 | 大桥久未无码吹潮在线观看 | 91麻豆精品国产午夜天堂 | 五月天久久婷婷 | 色偷偷人人澡人人爽人人模 | 日本另类αv欧美另类aⅴ | 美女一二区 | 免费视频久久久 | 水蜜桃av无码 | 欧美不卡视频一区发布 | 色婷婷狠 | 国产综合在线观看视频 | 免费网站观看www在线观 | 紧缚捆绑精品一区二区 | 国产对白受不了了 | 国产乱国产乱老熟300部视频 | 丰满岳妇伦在线播放 | www.夜夜操 | 中文字幕免费在线 | 亚洲小视频在线播放 | 亚洲国产精品无码久久青草 | 久久久www成人免费无遮挡大片 | 国产97色在线 | 国产 | 少妇一级淫片免费观看 | 91免费网址| 日批视频免费 | 最新三级av| 久久在线精品视频 | 日日摸日日碰夜夜爽av | 视频一区三区 | 芭乐视频色| 综合色网站 | 国产精品久久久免费观看 | 亚洲成av人片在线观看无 | 50路60路老熟妇啪啪 | 一级特黄bbb大片免费看 | 四虎综合网 | 国产天堂 | 亚洲欧洲日韩 | 一级特黄aaa毛片在线视频 | 亚洲天堂第一 | 日本免费区 | 精品九九九 | 多啪视频 | 久久久无码中文字幕久... | 99久久久国产精品无码免费 | 深夜福利影院 | 99热国产精品 | 久久综合精品国产丝袜长腿 | 日韩黄色大全 | 91精品国产乱码久久桃 | 国产手机在线αⅴ片无码观看 | 男女裸体做爰爽爽全过程软件 | 999一个人免费看ww | 尤物av午夜精品一区二区入口 | 日韩人妻不卡一区二区三区 | 长篇乱肉合集乱500小说日本 | 性高爱久久久久久久久 | 久草福利在线观看 | 国产三级做爰在线播放五魁 | 男人天堂最新网址 | 亚洲大尺度av | 少妇被爽到高潮喷水久久欧美精品 | 女人的黄 色视频 | 日本精品久久 | 国产精品国产精品 | 亚洲久色影视 | 免费成人深夜夜国外 | 少妇久久久久久被弄高潮 | 国产一精品av一免费爽爽 | 国产91热爆ts人妖在线 | 成人精品免费网站 | 伊人成人在线 | 日本大片免a费观看视频三区 | 白嫩少妇激情无码 | 成人精品视频99在线观看免费 | 人妻三级日本三级日本三级极 | 精品一区二区ww | 亚洲中文字幕无码av永久 | 国产亚洲精品久久久久婷婷瑜伽 | 日本精品毛片一区视频播 | 午夜丰满少妇性开放视频 | 激情亚洲| 视频在线a | 永久免费未网 | 成人福利视频导航 | 中国久久| 国产一级片网站 | 欧美日韩五月天 | 夜夜春亚洲嫩草一区二区 | 国产最新进精品视频 | 51免费动漫网永久入口 | 欧美激情网址 | 把女邻居弄到潮喷的性经历 | 国产天天骚 | 亚洲伦理久久 | 丰满少妇三级全黄 | 好看的黄色录像 | 亚洲精品一级 | 国产一区二区三区四区视频 | 日本精品久久久久中文字幕乱中年 | 中文字幕一区二区人妻性色 | 在线中文字幕观看 | 夜夜爽日日澡人人添蜜臀 | 大人和孩做爰aⅴ18 大人和孩做爰av | 少妇挑战黑人3p | 双性受爽到不停的喷水bl | 密桃成熟时在线观看 | 91欧美日韩国产 | 亚婷婷洲av久久蜜臀小说 | 国产欧美网站 | 成人性做爰aaa片免费看不忠 | www.成人网.com | 欧美精品综合 | 国产片性视频免费播放 | 韩国中文字幕 | 亚洲男人的天堂在线播放 | 国产精品av久久久久久麻豆网 | 粗大的内捧猛烈进出 | 久久丫精品系列 | 少妇又粗又猛又爽又黄的视频 | 黄视频免费在线观看 | 国产精品视频全国免费观看 | 亚洲国产精品大学美女久久久爽 | 日本高清视频www在线观看 | 亚洲成av人的天堂在线观看 | 99re6热在线精品视频播放 | 8090av| 中文字幕一区二区三区有限公司 | 国产91我把她日出白浆 | 久久看毛片 | 一级免费片 | 国产真人真事毛片 | 性欧美video另类hd尤物 | 狠狠精品久久久无码中文字幕 | 性视频毛茸茸 | 45分钟免费真人视频 | 看一级大片 | 国产欧美亚洲精品a | 日韩毛片av | 精品久久久久久久久久ntr影视 | 制服丝袜另类专区制服 | 色婷婷激情五月 | 小黄网站在线观看 | 日韩精品在线免费视频 | 婷婷五月六月激情综合色中文字幕 | 亚洲成人在线网 | 少妇熟女久久综合网色欲 | 91精品国产一区二区三区动漫 | 91制片一二三专区亚洲 | 午夜在线网址 | 欧美人与禽猛交乱配视频 | 黑人性受xxxx黑人xyx性爽 | 奇米av在线 | 草草在线观看 | 欧美另类videosbestsex日本 | 成人黄色网 | 99久久日韩精品免费热麻豆美女 | 大尺度无遮挡激烈床震网站 | 国产亚洲精久久久久久无码 | 国产又色又爽又黄又免费 | 国产精品裸体一区二区三区 | 69xxx少妇按摩视频 | 午夜在线国产 | 久久久久久免费毛片 | 色com| 2020亚洲天堂| 91精品一区二区中文字幕 | 天天射中文 | 2018亚洲男人天堂 | 91精品免费在线 | 亚洲国产成人无码av在线影院 | 无码无套少妇毛多18p | 中文字幕第315页 | 国产精品女同磨豆腐磨出水了 | 亚洲综合色在线 | 日本精品一区二区三区在线播放视频 | 欧美涩涩涩 | 极品美女扒开粉嫩小泬 | 国产真实露脸乱子伦 | 日本黄色片视频 | 久久久久久久久久久久久国产 | 日本精品视频在线观看 | 免费在线观看污片 | 亚洲va欧洲va国产va不卡 | 日本全棵写真视频在线观看 | 国产精品一级片 | 欧美午夜精品久久久久久浪潮 | 国产乱老熟视频网88av | 亚洲h视频 | 亚洲欧美另类国产 | 亚洲毛片一区 | 黄瓜视频91 | 色妞色视频一区二区三区四区 | 老鸭窝视频在线观看 | 成人免费视频视频在线观看 免费 | 亚洲精品久久久久国色天香 | 日本欧美一区二区三区不卡视频 | 99精品久久久久久中文字幕 | 久久99精品久久久久久秒播 | 国产福利在线视频 | 麻豆最新| 国内品精一二三区品精 | 在线观看一区二区三区视频 | 国产suv精品一区 | 中文字幕热久久久久久久 | 91精品专区 | 老汉av网站| 国产成人精品777 | 91精品国产乱码在线观看 | 亚洲人成人 | 国产无人区码熟妇毛片多 | 成人精品在线观看 | 一本色道久久综合狠狠躁的推荐 | 禁久久精品乱码 | 日韩性生活视频 | 欧美午夜精品一区二区 | 国产又色又爽又刺激在线播放 | 一级 黄 色 片69 | 精品女同一区二区 | 日韩欧美国产另类 | 国产精品伦视频看免费三 | 久久av免费看 | 国产xxx69麻豆国语对白 | 97在线免费 | 懂色av一区在线播放 | 涩涩涩涩涩涩涩涩涩涩 | 日韩综合中文字幕 | 国产hsck在线亚洲 | 免费观看黄色小视频 | 国产精品jizz在线观看老狼 | 在线视频中文 | 成人理论视频 | 69精品人人 | 中文在线中文资源 | 日韩精品蜜桃 | 日韩a无v码在线播放免费 | 日产韩产麻豆h | 国产成人精品午夜福利 | 黄色网址在线免费看 | www.91亚洲 | 中国偷拍毛茸茸肥老熟妇 | 小明看欧美日韩免费视频 | 第五色婷婷 | 国内视频在线 | 欧美一级欧美三级 | 91色精品| 久视频在线观看 | 99久久99久久免费精品蜜臀 | 风韵少妇性饥渴推油按摩视频 | avtt亚洲| 免费啪啪小视频 | 波多野42部无码喷潮 | 人妻教师痴汉电车波多野结衣 | av在线不卡观看 | 永久免费看成人av的动态图 | 日本毛茸茸的丰满熟妇 | 一本色道久久综合亚洲精品不 | 欧美15一16性娇小高清 | 黑人性受xxxx黑人xyx性爽 | 国产乱码精品一区二区三区精东 | 在线免费激情视频 | 十八岁以下禁止观看黄下载链接 | 无码少妇精品一区二区免费动态 | 亚洲爆乳无码专区www | 国产91免费 | 美女a视频 | 在线观看污污网站 | 国产日韩一区二区在线 | 日本免费人成视频在线观看 | 少妇精品免费视频欧美 | 欧美精品一区二区在线播放 | 国产91在线亚洲 | 日本免费在线 | 久久久中文字幕日本无吗 | 亚洲成a人片在线观看高清 成年女人a毛片免费视频 | 亚洲校园激情 | av观看国产 | 亚洲精品一区二区三区高潮 | 一区二区三区中文字幕在线 | 一曲二曲三曲在线观看中文字幕动漫 | 交换做爰2中文字幕 | 高潮喷水抽搐无码免费 | 丰满少妇奶水一区二区三区 | 欧美真人作爱免费视频 | 中文字幕一区三区 | 天堂在线资源网 | 久久久噜噜噜久久熟女aa片 | 三级理论中文字幕在线播放 | 国产美女裸身网站免费观看视频 | 少妇免费视频 | 日韩精品无码一区二区三区久久久 | av一本久道久久波多野结衣 | 亚洲乱妇老熟女爽到高潮的片 | 精品国产一区二区三区久久久蜜月 | 国产一区二区av | 51久久夜色精品国产麻豆 | jzzjzzjzz日本丰满少妇 | 国产麻豆视频 | 91精品视频免费观看 | 九九色九九 | 一级做a爱片性色毛片www | 亚洲精品久久夜色撩人男男小说 | 久久精国产| 亚洲国产成人久久综合一区,久久久国产99 | yw在线观看 | 亚洲裸男gv网站 | 天天爽夜夜爽夜夜爽精品视频 | 亚洲精品视频久久 | 欧美性插b在线视频网站 | 亚洲精品中文字幕一区二区三区 | 各种少妇正面bbw撒尿 | 亚洲熟妇av午夜无码不卡 | 亚洲第一色区 | 18禁美女裸体爆乳无遮挡 | 免费成人av片 | 欧美精品性生活 | 性开放少妇xxx视频 性开放网站 | 亚洲狠狠婷婷综合久久久久图片 | 亚洲国产一区二区三区日本久久久 | 国产亚州精品女人久久久久久 | 亚洲精品视频在线观看免费 | 色亚洲视频 | 国产精品久久久久久久久久99 | 国产91在线视频 | 免费视频网站在线观看入口 | 乱码午夜-极国产极内射 | 综合av在线| 成人激情免费视频 | 风韵多水的老熟妇 | 拔插拔插海外华人永久免费 | 一本色道久久综合亚洲精品不 | 中文字幕日韩av | 欧美日韩精品久久久免费观看 | 日韩色av | 在线天堂资源www在线中文 | 日韩视频精品在线 | 乖疼润滑双性初h | 中文字幕国产一区 | 欧美国产影院 | 亚洲中文字幕无码中文字 | 不卡欧美| 一级黄色片免费 | 亚洲黄色小视频 | 18禁美女裸体无遮挡网站 | 日本黄色性视频 | 一本色道久久综合亚洲精品按摩 | 日韩无套 | 久久人妻av无码中文专区 | 性插视频在线观看 | 99久久综合狠狠综合久久aⅴ | 日本精品三级 | 日本无遮挡吸乳呻吟视频 | 免费在线黄网站 | 日韩精品视频中文字幕 | 伊人色综合一区二区三区 | 日本视频高清一道一区 | 国产美女免费网站 | 成人免费看片&#39 | 国产黑丝av | 亚洲深深色噜噜狠狠爱网站 | 三级大片在线观看 | 亚洲午夜精品视频 | 国产aaaaa免费大片 | 黄色三级国产 | 五月天婷婷综合网 | 超碰在线香蕉 | 国产黄色大片视频 | 欧美性白人极品hd | 久久成人欧美 | 国产69精品久久久久777 | 一级免费av | 中文www新版资源在线 | 亚洲综合一区在线 | 亚洲永久精品ww.7491进入 | 国产自产一区二区 | 2018自拍偷拍 | 男人猛吃奶女人爽视频 | 亚洲欧美经典 | 中文字幕日产乱码一二三区 | 欧美性xxxx极品少妇 | 韩国av片永久免费 | www.九色91| 久久久久久蜜桃 | 亚洲熟妇自偷自拍另欧美 | 精品久久久久久无码人妻 | 狠狠色综合网 | 国产精品入口夜色视频大尺度 | 午夜福利在线永久视频 | 日韩porn| 97免费在线观看视频 | 国产九色在线播放九色 | 精品免费国产一区二区三区四区 | 午夜爽视频 | 青草视频在线播放 | 杨思敏全身裸体毛片看 | 黄色av资源 | 6969成人亚洲婷婷 | 国产国产精品久久久久 | 免费看大片a | ree性亚洲88av | 日本午夜啪啪 | 欧美成人69 | 五月天色丁香 | 精品中文字幕在线观看 | 久久综合国产 | 国产三级短视频 | 欧美一级黄 | 国产欧美激情在线观看 | 久久久久久九九九九九 | 欧美日本国产 | 总裁高h震动喷水双性 | 国产乱人伦偷精精品视频 | 日韩欧美激情兽交 | 国产av精国产传媒 | 91精品系列 | 性欧美在线视频观看 | 久久久久久98 | 成人国内精品久久久久影院成人国产9 | 欧美一区成人 | 亚洲精品久久久久久一区二区 | 免费啪啪网 | 激情文学亚洲 | 天天夜碰日日摸日日澡性色av | 亚洲欧美日韩一级 | 91超碰免费在线 | www.狠狠插 | 国产精东天美av影视传媒 | 欧美中文字幕第一页 | 一级少妇精品久久久久久久 | 日韩精品视频免费 | 国产成人61精品免费看片 | 亚洲精品乱码久久久久久蜜桃麻豆 | 国产suv精品一区二区四 | 日日噜噜噜夜夜爽爽狠狠视频97 | 97超碰自拍 | 天堂а√在线中文在线 | 久久久成人av| 国产高颜值大学生情侣酒店 | 中国黄色毛片 大片 | 亚洲熟妇无码另类久久久 | 日本猛少妇色xxxxx | 欧美激情第五页 | 久久蜜臀精品av | 日日碰狠狠躁久久躁96avv | 久久久久久9 | 国产无遮挡18禁网站免费 | 在线免费看污网站 | 国产精品呻吟 | 少妇伦子伦精品无吗 | 欧美亚洲综合另类 | 欧美久久国产精品 | 无码aⅴ在线观看 | 丰满少妇免费做爰大片人 | 美玉足脚交一区二区三区图片 | 男女啪啪资源 | 久草在线青青草 | 26uuu亚洲婷婷狠狠天堂 | 对白刺激国语子与伦 | www免费av| 亚洲精品国产v片在线观看 亚洲精品国产成人 | 色五月色开心色婷婷色丁香 | 中文字幕一区二区三区精彩视频 | 亚洲黄色软件 | 日韩在线一二三 | 天天躁夜夜躁狠狠眼泪 | 免费观看理伦片在线播放 | 成人在线观看黄色 | 美女网站免费福利视频 | 国产三级做人爱c视频 | 国产精品一线天 | 交换配乱淫东北大坑性事视频 | 国产ts三人妖大战直男 | 精品国产乱码久久久久久天狼 | 午夜精品一区二区三区在线 | 天堂资源成人√ | 91国偷自产一区二区介绍 | 欧美成人午夜免费视在线看片 | 自拍偷在线精品自拍偷无码专区 | 中国无码人妻丰满熟妇啪啪软件 | 久插视频 | 国产成人三级一区二区在线观看一 | 男女性杂交内射妇女bbwxz | 99久久婷婷国产综精品喷水 | 少妇放荡的呻吟干柴烈火动漫 | 91制片麻豆果冻传媒 | 中文文字幕一区二区三三 | 亚洲精品一区国产精品 | 免费一级特黄特色的毛片 | 污污小说在线观看 | 一二三区精品 | 女人扒开屁股桶爽30分钟 | 一本色道久久综合狠狠躁邻居 | 免费av影片| 日韩xxx视频 | 日本欧美国产一区二区三区 | 国产成人精品免费视频大全 | 亚洲我射av| 天天曰夜夜曰 | 99久久无色码中文字幕人妻蜜柚 | 久久香综合精品久久伊人 | 国产91丝袜在线播放 | 午夜性影院 | www国产成人免费观看视频深夜成人网 | 亚洲蜜桃精久久久久久久久久久久 | 福利小视频在线 | 精品久久久久久久无码 | 亚洲h在线播放在线观看h | 亚洲91在线 | 亚欧美在线观看 | 在线看免费视频 | 大桥久未无码吹潮在线观看 | 人妻熟女一二三区夜夜爱 | 午夜视频在线观看吗 | 青青伊人久久 | 极品女神无套呻吟啪啪 | 黑人狂躁日本妞videos在哪里 | 天天摸天天做天天爽 | 在线天堂www在线国语对白 | 再深点灬舒服灬太大了网站 | 免费理伦片在线播放网站 | 久久久视 | 成人做爰www免费看视频网站 | 国产免费视屏 | 免费在线观看av的网站 | 久久久激情 | 最近中文字幕免费视频 | 中文视频在线 | 美玉足脚交一区二区三区图片 | 乱h伦h女h在线视频 乱lun合集小可的奶水 | 欧美 日韩 成人 | 青草视频在线 | 手机在线观看毛片 | 亚洲の无码国产の无码步美 | 狠狠干夜夜骑 | 韩国三级中文字幕hd久久精品 | 欧美真人做爰在线观看 | 国偷自产视频一区二区久 | 少妇啪啪av入口 | 亚洲一区av无码少妇电影 | 丰满的人妻hd高清日本 | 日韩爱爱网| 亚洲成av人片在线观看无 | 国产三级农村妇女做受 | 啦啦啦中文在线视频免费观看 | 国产69精品久久久久777 | 精品一区二区三区免费毛片 | 国产午夜精品一区二区三区 | 天天操天天操天天射 | 欧美精品1区2区3区 欧美精品91爱爱 | 成人免费三p在线观看 | 亚洲1区 | 女女互慰吃奶互揉的视频 | 免费av入口 | 亚洲 国产 日韩 欧美 | 久久99国产精一区二区三区 | 全国男人的天堂网 | 成人在线视频网址 | 一级a性色生活片久久毛片明星 | 少妇高潮太爽了在线视频 | 思思99热久久精品在线6 | 精品一区二区三区免费毛片爱 | 欧美在线色图 | 国产无遮挡猛进猛出免费软件 | 黄色片视频免费观看 | 91色乱码一区二区三区 | 手机天堂网 | 永久免费的网站入口 | 九九国产精品视频 | 一级黄色大片视频 | 亚洲欧美丝袜精品久久 | 色一情一乱一伦麻豆 | 欧美一区二区三区免费观看 | 色视频成人在线观看免 | 欧美成人精品一区二区男人小说 | 三级视频在线播放 | 亚洲天堂网在线视频 | 亚洲免费观看 | 少妇无套内谢久久久久 | zσzo欧美性猛交xx | 女国产精品视频一区二区三区 | 曰韩精品一区二区 | 国模冰莲极品自慰人体 | 色综合视频在线 | 夜夜爽免费888视频 成 人 黄 色 网 页 | 亚洲精品一区二区三区不 | 91高潮胡言乱语对白刺激国产 |