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

feat(server): Rustdesk Id Server Port & Relay Server Port #104

lejianwen 1 год назад
Родитель
Сommit
56014d35bd
2 измененных файлов с 20 добавлено и 13 удалено
  1. 10 10
      config/rustdesk.go
  2. 10 3
      service/serverCmd.go

+ 10 - 10
config/rustdesk.go

@@ -12,14 +12,14 @@ const (
12 12
 )
13 13
 
14 14
 type Rustdesk struct {
15
-	IdServer     string `mapstructure:"id-server"`
16
-	IdServerPort int    `mapstructure:"-"`
17
-	RelayServer  string `mapstructure:"relay-server"`
18
-	RelayPort    int    `mapstructure:"-"`
19
-	ApiServer    string `mapstructure:"api-server"`
20
-	Key          string `mapstructure:"key"`
21
-	KeyFile      string `mapstructure:"key-file"`
22
-	Personal     int    `mapstructure:"personal"`
15
+	IdServer        string `mapstructure:"id-server"`
16
+	IdServerPort    int    `mapstructure:"-"`
17
+	RelayServer     string `mapstructure:"relay-server"`
18
+	RelayServerPort int    `mapstructure:"-"`
19
+	ApiServer       string `mapstructure:"api-server"`
20
+	Key             string `mapstructure:"key"`
21
+	KeyFile         string `mapstructure:"key-file"`
22
+	Personal        int    `mapstructure:"personal"`
23 23
 	//webclient-magic-queryonline
24 24
 	WebclientMagicQueryonline int `mapstructure:"webclient-magic-queryonline"`
25 25
 }
@@ -50,8 +50,8 @@ func (rd *Rustdesk) ParsePort() {
50 50
 
51 51
 	relayres := strings.Split(rd.RelayServer, ":")
52 52
 	if len(relayres) == 1 {
53
-		rd.RelayPort = DefaultRelayServerPort
53
+		rd.RelayServerPort = DefaultRelayServerPort
54 54
 	} else if len(relayres) == 2 {
55
-		rd.RelayPort, _ = strconv.Atoi(relayres[1])
55
+		rd.RelayServerPort, _ = strconv.Atoi(relayres[1])
56 56
 	}
57 57
 }

+ 10 - 3
service/serverCmd.go

@@ -41,7 +41,14 @@ func (is *ServerCmdService) Create(u *model.ServerCmd) error {
41 41
 }
42 42
 
43 43
 // SendCmd 发送命令
44
-func (is *ServerCmdService) SendCmd(port string, cmd string, arg string) (string, error) {
44
+func (is *ServerCmdService) SendCmd(target string, cmd string, arg string) (string, error) {
45
+	port := 0
46
+	switch target {
47
+	case model.ServerCmdTargetIdServer:
48
+		port = global.Config.Rustdesk.IdServerPort - 1
49
+	case model.ServerCmdTargetRelayServer:
50
+		port = global.Config.Rustdesk.RelayServerPort
51
+	}
45 52
 	//组装命令
46 53
 	cmd = cmd + " " + arg
47 54
 	res, err := is.SendSocketCmd("v6", port, cmd)
@@ -57,14 +64,14 @@ func (is *ServerCmdService) SendCmd(port string, cmd string, arg string) (string
57 64
 }
58 65
 
59 66
 // SendSocketCmd
60
-func (is *ServerCmdService) SendSocketCmd(ty string, port string, cmd string) (string, error) {
67
+func (is *ServerCmdService) SendSocketCmd(ty string, port int, cmd string) (string, error) {
61 68
 	addr := "[::1]"
62 69
 	tcp := "tcp6"
63 70
 	if ty == "v4" {
64 71
 		tcp = "tcp"
65 72
 		addr = "127.0.0.1"
66 73
 	}
67
-	conn, err := net.Dial(tcp, fmt.Sprintf("%s:%s", addr, port))
74
+	conn, err := net.Dial(tcp, fmt.Sprintf("%s:%v", addr, port))
68 75
 	if err != nil {
69 76
 		global.Logger.Debugf("%s connect to id server failed: %v", ty, err)
70 77
 		return "", err