首頁 > 後端開發 > Golang > 主體

伺服器開始監聽後如何啟動瀏覽器?

王林
發布: 2024-02-08 22:03:32
轉載
846 人瀏覽過

伺服器開始監聽後如何啟動瀏覽器?

php小編草莓在這裡為大家介紹一下,在伺服器開始監聽後如何啟動瀏覽器。當我們啟動伺服器並監聽指定連接埠後,我們可以透過編寫程式碼來實現自動啟動瀏覽器的功能。具體的實作方式有兩種,一種是透過呼叫系統指令來開啟預設瀏覽器,另一種是利用瀏覽器的遠端偵錯協定來實作。無論使用哪種方式,都需要在程式碼中進行相應的配置和調用,以實現自動打開瀏覽器的功能。

問題內容

在go中,如何在伺服器開始監聽後啟動瀏覽器?

最好是最簡單的方法。

到目前為止,我的程式碼非常簡單:

package main

import (  
    // Standard library packages
    "fmt"
    "net/http"
    "github.com/skratchdot/open-golang/open"
    // Third party packages
    "github.com/julienschmidt/httprouter"
)


// go get github.com/toqueteos/webbrowser

func main() {  
    // Instantiate a new router
    r := httprouter.New()

    // Add a handler on /test
    r.GET("/test", func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
        // Simply write some test data for now
        fmt.Fprint(w, "Welcome!\n")
    })
    
    //open.Run("https://google.com/")
     
    // open.Start("https://google.com")

    // http://127.0.0.1:3000/test
    // Fire up the server
    http.ListenAndServe("localhost:3000", r)
    fmt.Println("ListenAndServe is blocking")  
    open.RunWith("http://localhost:3000/test", "firefox")  
    fmt.Println("Done")
}
登入後複製

解決方法

開啟監聽器,啟動瀏覽器,然後進入伺服器循環:

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))
登入後複製

沒有必要進行輪詢,如另一個答案所示。如果在瀏覽器啟動之前偵聽套接字已打開,則瀏覽器將進行連線。

listenandserve 是一個打開套接字並呼叫 serve 的便捷函數。此答案中的程式碼拆分了這些步驟,以便在偵聽開始後但在阻止調用 serve 之前開啟瀏覽器。

以上是伺服器開始監聽後如何啟動瀏覽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!