第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎么知道兩臺服務(wù)器何時準(zhǔn)備好接收請求?

我怎么知道兩臺服務(wù)器何時準(zhǔn)備好接收請求?

Go
www說 2023-05-08 18:12:00
我有兩臺服務(wù)器router := createServer()loginServer := createLoginServerMock()servLogin := &http.Server{    Addr:         ":9333",    Handler:      loginServer,}testServer := &http.Server{    Addr:         ":9444",    Handler:      router,}loginServer.ListenAndServe()testServer.ListenAndServe()我想在他們創(chuàng)建后向他們發(fā)送請求?我怎樣才能檢測到?
查看完整描述

3 回答

?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

ListenAndServe 沒有反饋機制讓您知道服務(wù)器何時準(zhǔn)備就緒。您必須自己創(chuàng)建偵聽器并將其傳遞給Server.Serve:

loginListener, err := net.Listen("tcp", ":9333")

if err != nil {

? ? // TODO: handle err

}


testListener, err := net.Listen("tcp", ":9444")

if err != nil {

? ? // TODO: handle err

}


// You may already start sending requests now. They will just wait until

// the servers call Accept on their respective listener (i.e. shortly after

// Serve is called).


servLogin := &http.Server{Handler: loginServer}

testServer := &http.Server{Handler: router}


go func() { log.Fatal(servLogin.Serve(loginListener)) }()

go func() { log.Fatal(testServer.Serve(testListener)) }()


查看完整回答
反對 回復(fù) 2023-05-08
?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

該程序?qū)⒃?1st 等待ListenAndServe(),直到發(fā)生任何錯誤。因為該ListenAndServe()方法永遠運行。因此,在執(zhí)行到下一個之前,您的第二個服務(wù)器永遠不會啟動ListenAndServe()。go所以在第一臺服務(wù)器的聲明前使用:


router := createServer()

loginServer := createLoginServerMock()

go func() {

    if err := http.ListenAndServe(":9333", loginServer); err != nil {

        log.Fatal("login server err: ", err)

    }

}()

if err := http.ListenAndServe(":9444", router); err != nil {

    log.Fatal("test server err: ", err)

}

然后loginServerhttp://localhost:9333testServerhttp ://localhost:9444訪問你的。



查看完整回答
反對 回復(fù) 2023-05-08
?
冉冉說

TA貢獻1877條經(jīng)驗 獲得超1個贊

ListenAndServe()創(chuàng)建服務(wù)器失敗時將返回錯誤。只需將其處理為已知的服務(wù)器啟動成功與否。我可以看到您的編碼只會在測試服務(wù)器掛起時啟動登錄服務(wù)器。咱們試試吧

go func() {
  log.Fatal(loginServer.ListenAndServe())
}
log.Fatal(testServer.ListenAndServe())


查看完整回答
反對 回復(fù) 2023-05-08
  • 3 回答
  • 0 關(guān)注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號