1 package ch.qos.logback.classic.net;
2
3 import java.io.InputStream;
4 import java.net.ServerSocket;
5 import java.net.Socket;
6 import java.util.ArrayList;
7 import java.util.List;
8
9 public class ExternalMockSocketServer {
10
11 static final String LOGGINGEVENT = "LoggingEvent";
12 static final String LOGGINGEVENT2 = "LoggingEvent2";
13 static final String MINIMALEXT = "MinimalExt";
14 static final String MINIMALSER = "MinimalSer";
15
16 static final int PORT = 4560;
17
18
19 static int clientNumber;
20
21 static List<String> msgList = new ArrayList<String>();
22 static boolean finished = false;
23
24 String className = LOGGINGEVENT;
25
26 public static void main(String[] args) {
27 if (args.length == 1) {
28 clientNumber = Integer.parseInt(args[0]);
29
30 runServer();
31 } else {
32 usage("Wrong number of arguments.");
33 }
34 }
35
36 static void usage(String msg) {
37 System.err.println(msg);
38 System.err
39 .println("Usage: java " + ExternalMockSocketServer.class.getName()
40 + " loopNumber");
41 System.exit(1);
42 }
43
44 static void runServer() {
45
46 try {
47 System.out.println("Starting Server...");
48 ServerSocket serverSocket = new ServerSocket(PORT);
49 System.out.println("Listening on port " + PORT);
50 for (int j = 0; j < clientNumber; j++) {
51 Socket socket = serverSocket.accept();
52 System.out.println("New client accepted.");
53 System.out.println("Connected to client at " + socket.getInetAddress());
54
55 InputStream is = socket.getInputStream();
56 long sum = 0;
57
58 while (true) {
59
60 int val = is.read();
61 if(val == -1) {
62 break;
63 }
64
65
66 int a = is.available();
67 sum += a + 1;
68 is.skip(a);
69 }
70 System.out.println(sum/1000 + " KB");
71 }
72 serverSocket.close();
73 } catch (Exception se) {
74 se.printStackTrace();
75 }
76 System.out.println("Server finished.");
77 finished = true;
78 }
79
80 }