niujiuru 2 месяцев назад
Родитель
Сommit
2d7d149006
2 измененных файлов с 14 добавлено и 10 удалено
  1. 11 7
      networkd.service/main.go
  2. 3 3
      servicelib/util.go

+ 11 - 7
networkd.service/main.go

@@ -21,9 +21,13 @@ import (
 )
 
 var (
-	Version    = "0.0.0.1"
-	BuildTime  = ""
-	ListenPort = "7000"
+	Version   = "0.0.0.1"
+	BuildTime = ""
+)
+
+const (
+	network    = "tcp" // http -> tcp
+	listenAddr = "127.0.0.1:7000"
 )
 
 type program struct {
@@ -77,7 +81,7 @@ func (p *program) Start(s service.Service) error {
 	mux.Handle("/rpc", p.core_server)
 
 	p.http_server = &http.Server{
-		Addr:    "127.0.0.1:" + ListenPort,
+		Addr:    listenAddr,
 		Handler: mux,
 	}
 
@@ -221,10 +225,10 @@ func main() {
 		os.Exit(0)
 	}
 
-	if servicelib.IsPortInUse(ListenPort) { // 查询端口占用,避免运行多份实例
+	if servicelib.IsAddrInUse(network, listenAddr) { // 查询端口占用,避免运行多份实例
 		fmt.Printf(
-			"%s.service start failed: listen port %s already in use\n",
-			svcConfig.Name, ListenPort,
+			"%s.service start failed: listen addr %s already in use\n",
+			svcConfig.Name, listenAddr,
 		)
 		os.Exit(1)
 	}

+ 3 - 3
servicelib/util.go

@@ -2,11 +2,11 @@ package servicelib
 
 import "net"
 
-func IsPortInUse(port string) bool {
-	ln, err := net.Listen("tcp", ":"+port)
+func IsAddrInUse(network, addr string) bool {
+	ln, err := net.Listen(network, addr)
 	if err != nil {
 		return true
 	}
-	ln.Close()
+	_ = ln.Close()
 	return false
 }