如何编写一个基础web聊天室并逐步增强其功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计372个文字,预计阅读时间需要2分钟。
多线程聊天服务器简化版:javaimport java.io.*;import java.net.*;import java.util.*;
public class ChatServer { List clients=new ArrayList();
public static void main(String[] args) { new ChatServer().start(); }
public void start() { try { ServerSocket serverSocket=new ServerSocket(1234); System.out.println(服务器启动,等待客户端连接...);
while (true) { Socket clientSocket=serverSocket.accept(); clients.add(new PrintWriter(clientSocket.getOutputStream(), true));
new Thread(new ClientHandler(clientSocket)).start(); } } catch (IOException e) { e.printStackTrace(); } }
private 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 inputLine; while ((inputLine=in.readLine()) !=null) { System.out.println(收到: + inputLine); for (PrintWriter client : clients) { client.println(服务器: + inputLine); } } } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } }}
多线程聊天import java.io.*;
import java.net.*;
import java.util.*;
public class HeartServer {
List
本文共计372个文字,预计阅读时间需要2分钟。
多线程聊天服务器简化版:javaimport java.io.*;import java.net.*;import java.util.*;
public class ChatServer { List clients=new ArrayList();
public static void main(String[] args) { new ChatServer().start(); }
public void start() { try { ServerSocket serverSocket=new ServerSocket(1234); System.out.println(服务器启动,等待客户端连接...);
while (true) { Socket clientSocket=serverSocket.accept(); clients.add(new PrintWriter(clientSocket.getOutputStream(), true));
new Thread(new ClientHandler(clientSocket)).start(); } } catch (IOException e) { e.printStackTrace(); } }
private 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 inputLine; while ((inputLine=in.readLine()) !=null) { System.out.println(收到: + inputLine); for (PrintWriter client : clients) { client.println(服务器: + inputLine); } } } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } }}
多线程聊天import java.io.*;
import java.net.*;
import java.util.*;
public class HeartServer {
List

