Просмотр исходного кода

优化yfkj_sshd服务,设备IMEI号允许通过启动参数传入

niujiuru 2 недель назад
Родитель
Сommit
698ca729ed

BIN
package/rtu_linux_modules_1.0.0.1.tar.gz


BIN
package/yfkj_ssh_client_1.0.0.1.tar.gz


+ 2 - 1
sshd/server/server.go

@@ -63,7 +63,8 @@ func main() {
 		return
 	}
 
-	success := sshd.ModuleInit(CfgServers.MQTTSrv.Address, CfgServers.MQTTSrv.Username, CfgServers.MQTTSrv.Password)
+	devIMEI := baseapp.GetArgsParamStr("-devIMEI", "")
+	success := sshd.ModuleInit(CfgServers.MQTTSrv.Address, CfgServers.MQTTSrv.Username, CfgServers.MQTTSrv.Password, devIMEI)
 	if !success {
 		return
 	}

+ 8 - 6
sshd/sshd.go

@@ -12,7 +12,6 @@ import (
 
 	mqtt "github.com/eclipse/paho.mqtt.golang"
 	"hnyfkj.com.cn/rtu/linux/baseapp"
-	"hnyfkj.com.cn/rtu/linux/netmgrd"
 	"hnyfkj.com.cn/rtu/linux/utils/jsonrpc2"
 	"hnyfkj.com.cn/rtu/linux/utils/shell"
 	"hnyfkj.com.cn/rtu/linux/utils/singletask"
@@ -75,7 +74,7 @@ type clientExecutor struct {
 	state    executorState   /////////////////// 执行器的状态
 }
 
-func ModuleInit(mqttBroker, mqttUsername, mqttPassword string) bool {
+func ModuleInit(mqttBroker, mqttUsername, mqttPassword, devIMEI string) bool {
 	if mqttBroker == "" {
 		baseapp.Logger.Errorf("[%s] 初始化远程运维模块失败: %v!!", MODULE_NAME, ErrBrokerAddressEmpty)
 		return false
@@ -89,6 +88,7 @@ func ModuleInit(mqttBroker, mqttUsername, mqttPassword string) bool {
 		broker:           mqttBroker,
 		username:         mqttUsername,
 		password:         mqttPassword,
+		imei:             devIMEI,
 		executorMap:      make(map[string]*clientExecutor),
 		registerRpcMeths: &singletask.OnceTask{},
 	}
@@ -110,10 +110,12 @@ func ModuleExit() {
 }
 
 func (c *MQTTCoupler) init2() error {
-	imeiBytes, _ := os.ReadFile("/var/device_imei.txt")
-	c.imei = strings.TrimSpace(string(imeiBytes))
-	if c.imei == netmgrd.ErrUnknownModemTypeMsg || c.imei == "" {
-		return ErrIMEINotAvailable
+	if c.imei == "" {
+		imeiBytes, _ := os.ReadFile("/var/device_imei.txt")
+		c.imei = strings.TrimSpace(string(imeiBytes))
+		if c.imei == "" {
+			return ErrIMEINotAvailable
+		}
 	}
 	baseapp.Logger.Infof("[%s] ☺✔设备IMEI: %s", MODULE_NAME, c.imei)