2024-01-09 13:00:48 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
|
|
|
|
|
|
|
"github.com/urfave/cli/v2"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Config struct {
|
|
|
|
AddrDev string
|
|
|
|
AddrUser string
|
|
|
|
}
|
|
|
|
|
|
|
|
func runServer(c *cli.Context) {
|
|
|
|
|
|
|
|
cfg := &Config{
|
|
|
|
AddrDev: "0.0.0.0:9011",
|
|
|
|
AddrUser: "0.0.0.0:9012",
|
|
|
|
}
|
|
|
|
|
|
|
|
br := newBroker(cfg)
|
|
|
|
listenDevice(br)
|
|
|
|
|
2024-01-09 16:29:59 +00:00
|
|
|
go br.run()
|
|
|
|
select {}
|
2024-01-09 13:00:48 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
app := &cli.App{
|
|
|
|
Name: "XZRobot Ops Server",
|
|
|
|
Usage: "The Server Side For xzrobot ops",
|
|
|
|
Version: "1.0.0",
|
|
|
|
Commands: []*cli.Command{
|
|
|
|
{
|
|
|
|
Name: "run",
|
|
|
|
Usage: "Run Server",
|
|
|
|
Flags: []cli.Flag{
|
|
|
|
&cli.StringFlag{
|
|
|
|
Name: "log",
|
|
|
|
Value: "log.txt",
|
|
|
|
Usage: "log file path",
|
|
|
|
},
|
|
|
|
&cli.StringFlag{
|
|
|
|
Name: "conf",
|
|
|
|
Aliases: []string{"c"},
|
|
|
|
Value: "./rttys.conf",
|
|
|
|
Usage: "config file to load",
|
|
|
|
},
|
|
|
|
&cli.StringFlag{
|
|
|
|
Name: "addr-dev",
|
|
|
|
Value: ":9011",
|
|
|
|
Usage: "address to listen device",
|
|
|
|
},
|
|
|
|
&cli.StringFlag{
|
|
|
|
Name: "addr-user",
|
|
|
|
Value: ":9012",
|
|
|
|
Usage: "address to listen user",
|
|
|
|
},
|
|
|
|
&cli.StringFlag{
|
|
|
|
Name: "db",
|
|
|
|
Value: "sqlite://database.db",
|
|
|
|
Usage: "database source",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Action: func(c *cli.Context) error {
|
|
|
|
runServer(c)
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Action: func(c *cli.Context) error {
|
|
|
|
c.App.Command("run").Run(c)
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
err := app.Run(os.Args)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println(err)
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
|
|
|
}
|