From 93af1c6ffb9ae0e894689ad3a37b548e57d54cff Mon Sep 17 00:00:00 2001
From: linzhijie <19970921lzj>
Date: 星期四, 11 三月 2021 19:10:07 +0800
Subject: [PATCH] 有注释的测评系统业务代码

---
 src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java b/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java
index 84395b3..b16b200 100644
--- a/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java
+++ b/src/main/java/com/ots/project/exam/service/impl/ReportCalculationServicesImpl.java
@@ -1,10 +1,12 @@
 package com.ots.project.exam.service.impl;
+
 import com.alibaba.fastjson.JSON;
 import com.ots.project.exam.service.ReportCalculationServices;
 import com.ots.project.tool.report.reportCalculation.response.ReportAPIResult;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import java.io.BufferedReader;
@@ -13,28 +15,36 @@
 import java.io.PrintWriter;
 import java.net.Socket;
 import java.util.Objects;
+
 @Service
 @Slf4j
 public class ReportCalculationServicesImpl implements ReportCalculationServices {
+
     private Socket socket;
+
     private PrintWriter socketOut;
+
     private BufferedReader socketIn;
+
     @Value("${ATSTai.port}")
     private int port;
+
     @Value("${ATSTai.host}")
     private String host;
+
     @PostConstruct
     private void init() {
         try {
-            
+            //棣栧厛鐩存帴鍒涘缓socket,绔彛鍙�1~1023涓虹郴缁熶繚瀛橈紝涓�鑸鍦�1023涔嬪
             socket = new Socket(host, port);
-            
+            //鍒涘缓涓変釜娴侊紝绯荤粺杈撳叆娴丅ufferedReader systemIn锛宻ocket杈撳叆娴丅ufferedReader socketIn锛宻ocket杈撳嚭娴丳rintWriter socketOut;
             socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
             socketOut = new PrintWriter(socket.getOutputStream());
         } catch (Exception ex) {
             log.error("璋冪敤娉板浗鍥㈤槦缁勪欢杩炴帴澶辫触锛歿}",ex.getMessage(),ex);
         }
     }
+
     @PreDestroy
     private void destory() {
         if (Objects.nonNull(socketIn)) {
@@ -55,15 +65,22 @@
             }
         }
     }
-    
+
+    /**
+     * 鍒ゆ柇鏄惁鏂紑杩炴帴锛屾柇寮�杩斿洖true,娌℃湁杩斿洖false
+     * @param socket
+     * @return
+     */
     public Boolean isServerClose(Socket socket){
         try{
-            socket.sendUrgentData(0xFF);
+            socket.sendUrgentData(0xFF);//鍙戦��1涓瓧鑺傜殑绱ф�ユ暟鎹紝榛樿鎯呭喌涓嬶紝鏈嶅姟鍣ㄧ娌℃湁寮�鍚揣鎬ユ暟鎹鐞嗭紝涓嶅奖鍝嶆甯搁�氫俊
             return false;
         }catch(Exception se){
             return true;
         }
     }
+
+
     @Override
     public ReportAPIResult stageCalculation(Object request) {
         if (isServerClose(socket)) {
@@ -87,10 +104,11 @@
         }
         return reportAPIResult;
     }
+
     private ReportAPIResult getReportAPIResult(Object request) throws IOException {
         ReportAPIResult reportAPIResult;
         socketOut.println(JSON.toJSONString(request));
-        socketOut.flush();
+        socketOut.flush();//璧跺揩鍒锋柊浣縎erver鏀跺埌锛屼篃鍙互鎹㈡垚socketOut.println(readline, ture)
         String inTemp = socketIn.readLine();
         reportAPIResult = JSON.parseObject(inTemp, ReportAPIResult.class);
         return reportAPIResult;

--
Gitblit v1.9.1