Go에서 웹 애플리케이션을 구축할 때 서버가 수신 대기를 시작한 후에 브라우저를 시작해야 할 수도 있습니다. 사이. 이 문서에서는 이 요구 사항을 해결하는 간단한 방법을 제공합니다.
제공된 코드 조각은 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 서버가 수신을 시작한 후 자동으로 브라우저를 여는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!