返回顶部
首页 > 资讯 > 精选 >Java怎么实现聊天机器人
  • 417
分享到

Java怎么实现聊天机器人

2023-06-20 13:06:37 417人浏览 安东尼
摘要

小编给大家分享一下Java怎么实现聊天机器人,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下Client代码:package GUISocke

小编给大家分享一下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+"\r\n");   }  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+"\r\n"); }  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|MSGinfo        String 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怎么实现聊天机器人”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java怎么实现聊天机器人

本文链接: https://lsjlt.com/news/297086.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java怎么实现聊天机器人
    小编给大家分享一下Java怎么实现聊天机器人,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下Client代码:package GUISocke...
    99+
    2023-06-20
  • Java实现聊天机器人
    本文实例为大家分享了Java实现聊天机器人的具体代码,供大家参考,具体内容如下 服务器的代码: package Day02; import java.io.*; import j...
    99+
    2024-04-02
  • Java中怎么实现聊天机器人
    小编给大家分享一下Java中怎么实现聊天机器人,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下服务器的代码:package Day02;imp...
    99+
    2023-06-20
  • Java怎么实现简单聊天机器人
    这篇文章主要为大家展示了“Java怎么实现简单聊天机器人”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java怎么实现简单聊天机器人”这篇文章吧。具体内容如下整个小案例:整合了Java sock...
    99+
    2023-06-20
  • Java实现简单聊天机器人
    本文实例为大家分享了Java实现简单聊天机器人的具体代码,供大家参考,具体内容如下 整个小案例:整合了Java socket编程、jdbc知识(ORM/DAO) 创建数据库和表,准备...
    99+
    2024-04-02
  • Java实现聊天机器人完善版
    本文实例为大家分享了Java实现聊天机器人完善版的具体代码,供大家参考,具体内容如下 Client代码: package GUISocket.chat.Client; impo...
    99+
    2024-04-02
  • 怎么用Ajax实现聊天机器人
    本篇内容介绍了“怎么用Ajax实现聊天机器人”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 功能实现:点击发送按钮事件将用户输入的...
    99+
    2023-06-25
  • Django实现聊天机器人
    目录实现原理第一步 安装环境依赖第二步 配置Celery第三步 编写机器人聊天主页面第四步 编写后台websocket路由及处理方法第五步 编写Celery异步任务第六步 运行看效果...
    99+
    2024-04-02
  • python怎么实现语音聊天机器人
    要实现一个语音聊天机器人,你可以使用Python中的语音识别和语音合成库来实现。首先,你需要一个能够将语音转换为文字的语音识别库。其...
    99+
    2023-08-31
    python
  • Python中怎么实现一个聊天机器人
    Python中怎么实现一个聊天机器人,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 创建虚拟环境pipenv是一个轻松创建虚拟环境的python库。pip ins...
    99+
    2023-06-16
  • 怎么用Python实现聊天机器人项目
    本篇内容主要讲解“怎么用Python实现聊天机器人项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python实现聊天机器人项目”吧!先决条件为了实现聊天机器人,将使用一个深度学习库Ke...
    99+
    2023-06-16
  • 案例:python实现聊天机器人
    import pickle data = {"你有女朋友吗":"没有","我们可以交往吗":"可以","今晚约不约":"约","去哪家餐厅":"麦当劳"} with open("db.pkl",'wb') as f: f.wr...
    99+
    2023-01-31
    机器人 案例 python
  • java怎么实现多人聊天对话室
    这篇文章给大家分享的是有关java怎么实现多人聊天对话室的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用ServerSocket和Socket实现服务器端和客户端的Socket通信。了解完socket通信步骤后...
    99+
    2023-06-20
  • jQuery如何实现Ajax聊天机器人
    小编给大家分享一下jQuery如何实现Ajax聊天机器人,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:'实现步骤:1.梳理案例的代码结构a.梳理页面的UI布局b.将业务代码抽离到chat.js中c.了解r...
    99+
    2023-06-25
  • Java NIO实现多人聊天室
    本文实例为大家分享了Java NIO实现多人聊天室的具体代码,供大家参考,具体内容如下 1. 服务器端代码 ChatServer类: package nio.test.serve...
    99+
    2024-04-02
  • java实现多人聊天系统
    本文实例为大家分享了java实现多人聊天系统的具体代码,供大家参考,具体内容如下 开发环境 Windows 7 操作系统MyEclipse 聊天室程序结构设计 1.系统分为客户端、服...
    99+
    2024-04-02
  • 怎么实现可插拔的跨域聊天机器人
    这篇文章主要讲解了“怎么实现可插拔的跨域聊天机器人”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现可插拔的跨域聊天机器人”吧!你将学到跨域技术常用方案...
    99+
    2024-04-02
  • 怎么使用python+Word2Vec实现中文聊天机器人
    本篇内容主要讲解“怎么使用python+Word2Vec实现中文聊天机器人”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python+Word2Vec实现中文聊天机器人”吧! ...
    99+
    2023-07-05
  • 怎么使用Java NIO实现多人聊天室
    本篇内容主要讲解“怎么使用Java NIO实现多人聊天室”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java NIO实现多人聊天室”吧!NIO服务端public&n...
    99+
    2023-06-21
  • Python 实现简单智能聊天机器人
    简要说明: 最近两天需要做一个python的小程序, 就是实现人与智能机器人(智能对话接口)的对话功能,目前刚刚测试了一下可以实现, 就是能够实现个人与机器的智能对话(语音交流)。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作