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(); } }