在 Go 中建立 Web 應用程式時,可能需要在伺服器開始監聽後啟動瀏覽器連線。本文提供了一種簡單的方法來滿足此要求。
提供的程式碼片段使用 httprouter 函式庫設定基本的 HTTP 伺服器。但是,它會在伺服器完全初始化之前過早地嘗試開啟瀏覽器:
r := httprouter.New() r.GET("/test", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { fmt.Fprint(w, "Welcome!\n") }) http.ListenAndServe("localhost:3000", r) fmt.Println("ListenAndServe is blocking") open.RunWith("http://localhost:3000/test", "firefox")
要在伺服器開始監聽後開啟瀏覽器,請修改程式碼如下:
l, err := net.Listen("tcp", "localhost:3000") if err != nil { log.Fatal(err) } // The browser can connect now because the listening socket is open. err = open.Start("http://localhost:3000/test") if err != nil { log.Println(err) } // Start the blocking server loop. log.Fatal(http.Serve(l, r))
此修改後的程式碼將開啟偵聽器和啟動伺服器循環的步驟分開。它允許瀏覽器在阻塞 http.Serve 呼叫之前進行連接。因此,瀏覽器會在伺服器成功開始偵聽後開啟。
以上是Go Server監聽後如何自動開啟瀏覽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!