[测评系统]--测评系统核心代码库
linzhijie
2021-03-11 84fea994d2db7dc313ad1774f34eb12a45f8d6e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.ots.project.tool.report.reportCalculation.socket;
import com.alibaba.fastjson.JSON;
import com.ots.project.tool.report.reportCalculation.request.HolderInfo;
import com.ots.project.tool.report.reportCalculation.request.MaqRequest;
import com.ots.project.tool.report.reportCalculation.response.ReportAPIResult;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import static com.ots.project.tool.report.reportCalculation.request.CalculationTypeEnum.MAQ;
import static com.ots.project.tool.report.reportCalculation.request.ReportTypeEnum.firstPath;
public class ClientSocket {
    public static void main(String[] args) throws Exception {
        
        String readline = null;
        String inTemp = null;
        String turnLine = "\n";
        final String client = "Client:";
        final String server = "Server:";
        int port = 9123;
        byte ipAddressTemp[] = {127, 0, 0, 1};
        InetAddress ipAddress = InetAddress.getByAddress(ipAddressTemp);
        
        Socket socket = new Socket(ipAddress, port);
        
        BufferedReader systemIn = new BufferedReader(new InputStreamReader(System.in));
        BufferedReader socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        PrintWriter socketOut = new PrintWriter(socket.getOutputStream());
        while (readline != "bye") {
            System.out.println(client);
            readline = systemIn.readLine();
            
            Map data = new HashMap();
            String topics = "MAQ0001,MAQ0002,MAQ0003,MAQ0006,MAQ0009,MAQ0013,MAQ0020,MAQ0041,MAQ0048,MAQ0088,MAQ0094,MAQ0098,MAQ0112,MAQ0117,MAQ0133,MAQ0145,MAQ0163,MAQ0172,MAQ0174,MAQ0175,MAQ0183,MAQ0194,MAQ0203,MAQ0209,MAQ0212,MAQ0224,MAQ0232,MAQ0233,MAQ0235,MAQ0236,MAQ0241,MAQ0244,MAQ0249,MAQ0250,MAQ0251,MAQ0252";
            String[] split = topics.split(",");
            Arrays.asList(split).stream().forEach(item -> {
                data.put(item, "5");
            });
            HolderInfo info = new HolderInfo();
            info.setAccessCode("abdke12315234");
            info.setFullName("Bill Li");
            info.setCalculationType(MAQ);
            MaqRequest request = new MaqRequest();
            request.setInfo(info);
            request.setType(firstPath);
            request.setData(data);
            String json = JSON.toJSONString(request);
            System.out.println(json);
            socketOut.println(json);
            socketOut.flush();
            inTemp = socketIn.readLine();
            ReportAPIResult reportAPIResult = JSON.parseObject(inTemp, ReportAPIResult.class);
            System.out.println(reportAPIResult);
            System.out.println(server + turnLine + inTemp);
        }
        systemIn.close();
        socketIn.close();
        socketOut.close();
        socket.close();
    }
}