📄 server.java
字号:
package com.briup.ChatServerClient;import java.io.*;import java.net.*;import java.util.*;public class Server { ArrayList clientOutputStreams; public class ClientHandler implements Runnable { BufferedReader reader; Socket sock; public ClientHandler(Socket clientSocket) { try { sock = clientSocket; InputStreamReader isReader = new InputStreamReader(sock.getInputStream()); reader = new BufferedReader(isReader); } catch(Exception ex) {ex.printStackTrace();} } public void run() { String message; try { while ((message = reader.readLine()) !=null) { System.out.println("read" +" "+message); tellEveryone(message); } } catch(Exception ex) {ex.printStackTrace();} } } public static void main(String[] args) { new Server().go(); } public void go() { clientOutputStreams = new ArrayList(); try { ServerSocket serverSock = new ServerSocket(5000); while(true) { Socket clientSocket = serverSock.accept(); PrintWriter writer = new PrintWriter(clientSocket.getOutputStream()); clientOutputStreams.add(writer); Thread t = new Thread(new ClientHandler(clientSocket)); t.start(); System.out.println("got a connection"); tellEveryone("-----------------------------"); tellEveryone("Someone Entered the Chatroom!"); tellEveryone("-----------------------------"); } } catch(Exception ex) { ex.printStackTrace(); } } public void tellEveryone(String message) { Iterator it = clientOutputStreams.iterator(); while(it.hasNext()) { try { PrintWriter writer = (PrintWriter) it.next(); writer.println(message); writer.flush(); } catch(Exception ex) { ex.printStackTrace(); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -