Browse Source

端口被占用切换下一端口。可以同时运行多个应用

liuyuqi-dellpc 5 years ago
parent
commit
2b546e51c1
1 changed files with 10 additions and 7 deletions
  1. 10 7
      main.go

+ 10 - 7
main.go

@@ -20,13 +20,16 @@ func main() {
 
 	// Create the fileserver.
 	fs := http.FileServer(http.Dir(dir))
-
-	// Print details to the console.
-	log.Printf("FS - Port: %v | Dir: %v", port, dir)
-
+	log.Printf("server is start %v: %v", port, dir)
 	// Start the file server.
-	if err := http.ListenAndServe(":"+fmt.Sprintf("%d", port), fs); err != nil {
-		log.Fatalf("server listen on port %v: %v", port, err)
+	for i := 0; i < 5; i++ {
+		err := http.ListenAndServe(":"+fmt.Sprintf("%d", port), fs)
+		if err != nil {
+			log.Printf("server error on port %v: %v", port, err)
+			port = port + 1
+		} else {
+			log.Printf("File Server - Port: %v | Dir: %v", port, dir)
+			break
+		}
 	}
-
 }