如何将基础Web聊天室代码升级,实现长尾词自动回复功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计392个文字,预计阅读时间需要2分钟。
多线程聊天工具javaimport java.io.*; import java.net.*; import java.util.*;
public class HeartServer { List clients=new ArrayList();
public static void main(String[] args) { new HeartServer().start(); }
public void start() { try { ServerSocket serverSocket=new ServerSocket(1234); System.out.println(服务器启动,等待连接...);
while (true) { Socket clientSocket=serverSocket.accept(); clients.add(clientSocket); new Thread(new ClientHandler(clientSocket)).start(); } } catch (IOException e) { e.printStackTrace(); } }
class ClientHandler implements Runnable { private Socket clientSocket;
public ClientHandler(Socket socket) { this.clientSocket=socket; }
@Override public void run() { try { BufferedReader in=new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); String message;
while ((message=in.readLine()) !=null) { System.out.println(客户端: + message); broadcast(message); }
clients.remove(clientSocket); } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
private void broadcast(String message) throws IOException { for (Socket socket : clients) { try { PrintWriter out=new PrintWriter(socket.getOutputStream(), true); out.println(服务器: + message); } catch (IOException e) { clients.remove(socket); socket.close(); } } } } }
多线程聊天import java.io.*;
import java.net.*;
import java.util.*;
public class HeartServer {
List
本文共计392个文字,预计阅读时间需要2分钟。
多线程聊天工具javaimport java.io.*; import java.net.*; import java.util.*;
public class HeartServer { List clients=new ArrayList();
public static void main(String[] args) { new HeartServer().start(); }
public void start() { try { ServerSocket serverSocket=new ServerSocket(1234); System.out.println(服务器启动,等待连接...);
while (true) { Socket clientSocket=serverSocket.accept(); clients.add(clientSocket); new Thread(new ClientHandler(clientSocket)).start(); } } catch (IOException e) { e.printStackTrace(); } }
class ClientHandler implements Runnable { private Socket clientSocket;
public ClientHandler(Socket socket) { this.clientSocket=socket; }
@Override public void run() { try { BufferedReader in=new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); String message;
while ((message=in.readLine()) !=null) { System.out.println(客户端: + message); broadcast(message); }
clients.remove(clientSocket); } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
private void broadcast(String message) throws IOException { for (Socket socket : clients) { try { PrintWriter out=new PrintWriter(socket.getOutputStream(), true); out.println(服务器: + message); } catch (IOException e) { clients.remove(socket); socket.close(); } } } } }
多线程聊天import java.io.*;
import java.net.*;
import java.util.*;
public class HeartServer {
List

