Go Web服務重啟

2021-10-24 19:25:51 字數 3249 閱讀 7774

通過go 1.8 提供的net/http/server.go中的func (srv *server) shutdown(ctx context.context) error方法可以實現執行中的web服務關閉。

如下:監聽埠

啟動服務

關閉後再次啟動: 監聽埠,啟動服務

)// 再次啟動服務

}通過使用curl,驗證

curl -v 127.0.0.1:8080/off
輸出

說明服務已經成功的關閉

通過使用curl,驗證可以返還hello world!

web服務的關閉並不會導致已經建立的連線關閉我們稍微調整一下上面的程式,並增加乙個回聲介面

}該介面在建立之後將會持續保持連線,然後把從連線中讀取到的資料發回傳送方。

main函式調整如下:

}為了測試需要我們還需要乙個類似於telnet的測試程式,功能就是建立連線之後讀取收到的資料並列印,通過使用者輸入資料並發出。

如下:

func

}}

首先啟動伺服器

啟動測試程式,然後隨便傳送一條訊息驗證回音程式是否已經在執行

我們通過telnet 呼叫服務關閉介面

curl -v 127.0.0.1:8080/off
可以看到服務已經關閉,列印了我們的文字

此時你再訪問curl -v 127.0.0.1:8080/是沒有任何返還值的,因為web服務已經關閉。

但是此時我們的回音測試程式還在執行,我們可以試下回音程式是否能夠工作

從測試的結果上來說我們的回聲程式仍然在正常工作,連線仍然可用。

Docker之搭建Go Web服務

標籤 空格分隔 docker golang web 最近在學習go語言開發。既然學習了它,必然要接觸web開發。go web開發非常方便,在不使用任何框架的情況下即可快速搭建乙個web server。既然有現成的框架,那就直接使用吧。目前市面上比較流行的go mvc框架有revel beego等。最...

GoWeb伺服器搭建

1 web工作原理 2 goweb伺服器的建立 go提供了一系列用於建立web伺服器的標準庫,而且通過go建立乙個伺服器的步驟非常簡單,只要通過net http包呼叫listenandserver函式並傳入網路位址以及負責處理請求的處理器 handler 作為引數就可以,如果網路位址引數為空字串,那...

Go Web伺服器的構造

go提供了一套完整的web伺服器標準庫,使得go構建伺服器非常簡單,建立伺服器只需要呼叫listenandserve即可。相應的web函式庫在net http包中,本文參考 go web程式設計 中的內容,介紹伺服器的構造,有興趣的小夥伴可以親自去翻閱這本書。首先構建兩種最簡單的伺服器 這裡直接是用...