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