📄 tcpserver.java
字号:
package day16;import java.io.*;import java.util.*;import java.net.*;import java.util.concurrent.*;public class TcpServer { public static void main(String[] args) throws Exception { ExecutorService es=Executors.newFixedThreadPool(2); ServerSocket ss = new ServerSocket(9000); List <Socket>list = new ArrayList<Socket>(); while (true) { Socket s = ss.accept(); System.out.println("Connection"); Callable<Integer> c=new MyTarget(s,list); list.add(s); es.submit(c); } }}class MyTarget implements Callable<Integer> { private Socket s; private static List<Socket>list; public MyTarget(Socket s,List list) { System.out.println(list.size()); this.s = s; this.list=list; } public Integer call() throws Exception { String text = null; BufferedReader br = null; InputStream ins = s.getInputStream(); br = new BufferedReader(new InputStreamReader(ins)); while ((text = br.readLine()) != null) { for (int i = 0; i < list.size(); i++) { PrintWriter out = null; OutputStream os = ((Socket) list.get(i)).getOutputStream(); out = new PrintWriter(os); out.println(text); out.flush(); } } list.remove(s); s.close(); return null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -