|
7 | 7 | import java.net.*; |
8 | 8 | import java.util.concurrent.*; |
9 | 9 |
|
10 | | -class Serve1 implements Runnable { |
11 | | - private ServerSocket ss; |
12 | | - public Serve1(ServerSocket ss) { |
13 | | - this.ss = ss; |
14 | | - } |
15 | | - @Override |
16 | | - public String toString() { return "Serve1: "; } |
17 | | - @Override |
18 | | - public void run() { |
19 | | - System.out.println(this + "Running"); |
20 | | - try ( |
21 | | - Socket socket = ss.accept(); |
22 | | - BufferedReader in = |
23 | | - new BufferedReader( |
24 | | - new InputStreamReader( |
25 | | - socket.getInputStream())); |
26 | | - PrintWriter out = |
27 | | - new PrintWriter( |
28 | | - new BufferedWriter( |
29 | | - new OutputStreamWriter( |
30 | | - // Boolean enables auto-flush |
31 | | - socket.getOutputStream())), true) |
32 | | - ) { |
33 | | - in.lines().anyMatch(message -> { |
34 | | - if(message.equals("END")) { |
35 | | - System.out.println(this + |
36 | | - "Received END. Closing Socket."); |
37 | | - return true; |
38 | | - } |
39 | | - System.out.println( |
40 | | - this + "Message: " + message); |
41 | | - out.println(message); |
42 | | - return false; |
43 | | - }); |
44 | | - } catch(IOException e) { |
45 | | - throw new RuntimeException(e); |
46 | | - } |
47 | | - } |
48 | | -} |
49 | | - |
50 | 10 | public class MultiServer implements Runnable { |
| 11 | + private final int port; |
| 12 | + public MultiServer(int port) { |
| 13 | + this.port = port; |
| 14 | + } |
51 | 15 | @Override |
52 | 16 | public void run() { |
53 | 17 | System.out.println("Server: Running"); |
54 | 18 | try ( |
55 | | - ServerSocket ss = |
56 | | - new ServerSocket(SimpleClient.PORT) |
| 19 | + ServerSocket ss = new ServerSocket(port) |
57 | 20 | ) { |
58 | 21 | System.out.println("Server: " + ss); |
59 | 22 | for(int i = 0; i < 10; i++) |
60 | 23 | CompletableFuture |
61 | | - .runAsync(new Serve1(ss)); |
| 24 | + .runAsync(new SimpleServer(ss)); |
62 | 25 | } catch(IOException e) { |
63 | 26 | throw new RuntimeException(e); |
64 | 27 | } |
|
0 commit comments