server.java
来自「这段代码的功能是:建立一个服务器,用于交换客户端之间的信息.」· Java 代码 · 共 114 行
JAVA
114 行
import java.net.*;import java.io.*;import java.util.*;class Subserver extends Thread implements Runnable{ Socket clientSocket; PrintWriter out = null; BufferedReader in = null; static Map a=new HashMap(); Subserver(Socket serverSocket){ clientSocket=serverSocket; try { //static Map a=new HashMap(); out = new PrintWriter(clientSocket.getOutputStream(), true); //a.put("you",out); in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); } catch (IOException e) { System.err.println("Accept failed."); System.exit(1); } } //out.println(fromUser); //serverSocket.close(); public void run(){ System.out.println("server"); String fromUser; String s="you"; int strlen; String from="noname"; try{ fromUser= in.readLine(); from=fromUser; //System.out.println("server"+fromUser); a.put((String)fromUser,out); //System.out.println("server"+a.size()); } catch(IOException e){} try { sleep( 1000); } catch (InterruptedException e) {} while (true) { try{ fromUser= in.readLine(); // System.out.println("server"+fromUser); if((char)fromUser.charAt(0)=='$'){s=fromUser.substring(1); //((PrintWriter)a.get(s)).println(s); } strlen=fromUser.length(); //out.println(""); //out.println("received string's length is: "+strlen); ((PrintWriter)a.get(s)).println(""); ((PrintWriter)a.get(s)).println("from:"+from+" "+fromUser); if(fromUser.equalsIgnoreCase("Bye")) break;} catch(IOException e){} try { sleep( 1000); } catch (InterruptedException e) {} } //out.close(); try{in.close(); out.close(); clientSocket.close(); //serverSocket.close(); } catch(IOException e){} } } class Listen extends Thread{ ServerSocket serverSocket = null; public void run() { System.out.println("server"); try { System.out.println("server"); serverSocket= new ServerSocket(4444); System.out.println("server"); } catch (IOException e) { System.err.println("Could not listen on port: 4444."); System.exit(1); } while(true){ try{ (new Subserver(serverSocket.accept())).start(); System.out.println("server");}catch(IOException e){}} } }public class Server { public static void main(String[] args) throws IOException { Listen a=new Listen(); a.start(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?