Sfoglia il codice sorgente

升级和修改说明

xiuwei 3 anni fa
parent
commit
70d665ae06
2 ha cambiato i file con 26 aggiunte e 3 eliminazioni
  1. 17 3
      README.md
  2. 9 0
      src/main/java/StartHttpServer.java

+ 17 - 3
README.md

@@ -1,8 +1,8 @@
-# Slaver104
+240# Slaver104
 
 104的小子站端测试工具
 
-抽空摸鱼写的,非常粗糙,写了两天,所以不要有太高的期待,只是能用
+非常粗糙,写了两天,所以不要有太高的期待,只是能用
 源码拿去。看不惯可以自己改改。但是由于我比较讨厌spring,且所需功能较少。所以web就是纯手写的改起来可能会费劲。
 如果有影响功能的问题与我联系我来改正,
 拉到代码后 package 打成jar包
@@ -20,4 +20,18 @@ port2 代表配置页面的端口
 - 页面上点加号按钮新增点位
 - 点位支持数据定值和公式    布尔值直接写入true或false  公式支持Aviator的各种公式和写法。但我感觉就这个四个方法就够用了
 - 双击已有点位进行修改
-- 删除点位输入框里的数值保存后即删除该点位
+- 删除点位输入框里的数值保存后即删除该点位
+
+
+
+到出的配置文件是json串,批量生成点位的代码
+
+```java
+ Map<String,String> map=new LinkedHashMap<>();
+        for(int i=16386;i<=22807;i++){
+            map.put(i+"",1+"");
+        }
+        System.out.println(JSON.toJSONString(map));
+```
+
+运行结果拷到配置文件中即可

+ 9 - 0
src/main/java/StartHttpServer.java

@@ -1,5 +1,6 @@
 import com.alibaba.fastjson.JSONObject;
 import io.netty.channel.Channel;
+import lombok.extern.slf4j.Slf4j;
 import wei.yigulu.iec104.nettyconfig.Iec104SlaverBuilder;
 import wei.yigulu.iec104.util.SendDataFrameHelper;
 
@@ -8,6 +9,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStreamReader;
 
+@Slf4j
 public class StartHttpServer {
     public static void main(String[] args) throws Exception {
         //104端口
@@ -56,6 +58,13 @@ public class StartHttpServer {
             port2 = tem2;
         }
         Iec104SlaverBuilder iec104SlaverBuilder = new Iec104SlaverBuilder(port1);
+        iec104SlaverBuilder.getConnectFilterManager().appendFilter((c)-> {
+            if (iec104SlaverBuilder.getChannels().size() >= 1) {
+                log.warn("已有一个主站连接,拒绝新连接联入");
+                return -1;
+            }
+            return 1;
+        });
         iec104SlaverBuilder.createByUnBlock();
         RecurringTaskContainer.getInstance().addRecurringTask(60, "向对端发送突发上送", () -> {
             if (iec104SlaverBuilder.getChannels().size() > 0) {