f418e8fb0c42e38e67ab16bff0cae4d37bacc966..047749776b996a81f8a6fb73f1eafd3008cb0f7b
2019-07-18 whyclj
前台socket通信
047749 对比 | 目录
2019-07-18 whyclj
前台socket通信
9b4ae7 对比 | 目录
4个文件已修改
2个文件已添加
183 ■■■■■ 已修改文件
.idea/gradle.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/misc.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/apps/HelloH5/www/index.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/apps/HelloH5/www/js/coment/SocketClient.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/apps/HelloH5/www/js/fbo2206/FBO_ReadData.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/apps/HelloH5/www/pages/home.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/gradle.xml
@@ -3,11 +3,14 @@
  <component name="GradleSettings">
    <option name="linkedExternalProjectsSettings">
      <GradleProjectSettings>
        <compositeConfiguration>
          <compositeBuild compositeDefinitionSource="SCRIPT" />
        </compositeConfiguration>
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/app" />
          </set>
        </option>
        <option name="resolveModulePerSourceSet" value="false" />
      </GradleProjectSettings>
    </option>
.idea/misc.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
app/src/main/assets/apps/HelloH5/www/index.html
@@ -31,7 +31,15 @@
                extras:{}//额外扩展参数
            }]
        });
        mui.plusReady(function() {})();
        mui.plusReady(function() {
            var w=new Worker("js/coment/SocketClient.js");
            w.onmessage = function (event) {
                console.info(event+"###################################################");
            };
        });
    </script>
</body>
</html>
app/src/main/assets/apps/HelloH5/www/js/coment/SocketClient.js
New file
@@ -0,0 +1,36 @@
testSocket();
function testSocket(){
    if (plus.os.name == "Android") {
        var Socket = plus.android.importClass("java.net.Socket");
        var PrintWriter = plus.android.importClass("java.io.PrintWriter");
        var BufferedWriter = plus.android.importClass("java.io.BufferedWriter");
        var OutputStreamWriter = plus.android.importClass("java.io.OutputStreamWriter");
        var BufferedReader = plus.android.importClass("java.io.BufferedReader");
        var InputStreamReader = plus.android.importClass("java.io.InputStreamReader");
        var socket = new Socket("118.89.139.230", 9001);
        var outputStreamWriter = new OutputStreamWriter(socket.getOutputStream());
        var bufferWriter = new BufferedWriter(outputStreamWriter);
        var out = new PrintWriter(bufferWriter, true);
        out.println("Conneted...");
        var inputStreamReader = new InputStreamReader(socket.getInputStream());
        var br = new BufferedReader(inputStreamReader);
        var msg = br.readLine();
        //while(true)
        {
            if(msg != null)
            {
                console.log(msg);
            }
            //msg = br.readLine();
        }
        postMessage(msg);
    }
    //console.log(mac);
}
app/src/main/assets/apps/HelloH5/www/js/fbo2206/FBO_ReadData.js
New file
@@ -0,0 +1,88 @@
class FBO_ReadData{
        public static final int BYTE_LEN = 651;
        //quint8 NowFileName[MaxLength];                                                         //当前电池组名
        public int[] NowWorkType = new int[FBS_ComBase.BattGroupCountMax];                        //当前工作类型
        public int[] NowWorkState = new int[FBS_ComBase.BattGroupCountMax];                    //当前工作状态
        public int[] NowWarnState = new int[FBS_ComBase.BattGroupCountMax];                    //当前告警状态
        public FBS_TestTime m_TestTime = new FBS_TestTime();                                    //测试时长
        public double[] NowOnlineVol = new double[FBS_ComBase.BattGroupCountMax];                 //当前在线电压    0.1
        public double[] NowGroupVol = new double[FBS_ComBase.BattGroupCountMax];                //当前组端电压    0.1
        public int NowRLY_OK;                                                                      //当前ROK状态
        //quint16 NowVol;                                                                         //当前电压
        public double[] NowCur = new double[FBS_ComBase.BattGroupCountMax];                     //当前电流        0.1
        public double[] NowCap = new double[FBS_ComBase.BattGroupCountMax];                    //当前容量        1
        public double[] SingleVol = new double[FBS_ComBase.FBOMonomerCountMax];                //单体        0.001
        public int CRC;
        public FBO_ReadData clone() {
            FBO_ReadData obj = null;
            try
            {
                obj = (FBO_ReadData)super.clone();
            }
            catch(CloneNotSupportedException e)
            {
                e.printStackTrace();
            }
            return obj;
        }
        public boolean putByteBuffer(final ByteBuffer bf)
        {
            if(bf.limit() < BYTE_LEN) {
                return false;
            }
            ByteBuffer tmpbuf = bf;
            int crc0 = tmpbuf.getShort(BYTE_LEN-2) & 0xFFFF;
            int crc1 = FBS_Crc16.CalCRC16(tmpbuf, BYTE_LEN-2);
            if(crc0 != crc1) {
                System.out.println(crc0+" == "+crc1);
                return false;
            }
            tmpbuf.position(0);
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowWorkType[i] = FBS_ComBase.changeShortToInt(tmpbuf.get());                //当前工作类型
            }
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowWorkState[i] = FBS_ComBase.changeShortToInt(tmpbuf.get());                //当前工作状态
            }
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowWarnState[i] = FBS_ComBase.changeShortToInt(tmpbuf.get());                //当前告警状态
            }
            m_TestTime.putByteBuffer(tmpbuf);            //测试时长
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowOnlineVol[i] = FBS_ComBase.changeShortToInt(tmpbuf.getShort())/10;            //当前在线电压
            }
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowGroupVol[i] = FBS_ComBase.changeShortToInt(tmpbuf.getShort())/10;            //当前组端电压
            }
            NowRLY_OK = FBS_ComBase.changeShortToInt(tmpbuf.getShort());;                          //当前ROK状态
            //quint16 NowVol;                         //当前电压
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowCur[i] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort())/10;                //当前电流
            }
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                NowCap[i] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort());                    //当前容量
            }
            for(int i = 0  ;i<FBS_ComBase.BattGroupCountMax;i++) {
                SingleVol[i] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort())/1000;            //当前容量
            }
            tmpbuf.compact();
            tmpbuf.flip();
            return true;
        }
}
app/src/main/assets/apps/HelloH5/www/pages/home.html
@@ -95,9 +95,45 @@
            });
            console.log("*********************************************************");
            console.log(io);
            //console.log(io);
            testSocket();
            console.log("*********************************************************");
            function testSocket(){
                if (plus.os.name == "Android") {
                    var Socket = plus.android.importClass("java.net.Socket");
                    var PrintWriter = plus.android.importClass("java.io.PrintWriter");
                    var BufferedWriter = plus.android.importClass("java.io.BufferedWriter");
                    var OutputStreamWriter = plus.android.importClass("java.io.OutputStreamWriter");
                    var BufferedReader = plus.android.importClass("java.io.BufferedReader");
                    var InputStreamReader = plus.android.importClass("java.io.InputStreamReader");
                    var socket = new Socket("118.89.139.230", 9001);
                    var outputStreamWriter = new OutputStreamWriter(socket.getOutputStream());
                    var bufferWriter = new BufferedWriter(outputStreamWriter);
                    var out = new PrintWriter(bufferWriter, true);
                    out.println("Conneted...");
                    var inputStreamReader = new InputStreamReader(socket.getInputStream());
                    var br = new BufferedReader(inputStreamReader);
                    var msg = br.readLine();
                    //while(true)
                    {
                        if(msg != null)
                        {
                            console.log(msg);
                        }
                        //msg = br.readLine();
                    }
                }
                //console.log(mac);
                console.info("########################################################################################################");
                alert("Done");
            }
        });
    </script>
</body>