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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 ResponseWriter 上實(shí)時(shí)應(yīng)用大量寫(xiě)入

在 ResponseWriter 上實(shí)時(shí)應(yīng)用大量寫(xiě)入

Go
幕布斯7119047 2021-11-29 19:15:12
我有一個(gè) Web 應(yīng)用程序,它需要繼續(xù)寫(xiě)入(可能永遠(yuǎn)不會(huì)結(jié)束)到http.ResponseWriter,并將這些輸出顯示到 html 頁(yè)面。它是這樣的:func handler(w http.ResponseWriter, req *http.Request) {     switch req.Method {         case "GET":              for {                  fmt.Fprintln(w, "repeating...")              }     }}我覺(jué)得 HTML 輸出的速度不夠快。如果我想http.ResponseWriter盡可能快地實(shí)時(shí)在 HTML上書(shū)寫(xiě)和顯示這些內(nèi)容,那么實(shí)現(xiàn)這一目標(biāo)的最佳方法是什么?
查看完整描述

1 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

默認(rèn)的http.ResponseWriter使用bufio.ReadWriter作為底層連接,它緩沖所有寫(xiě)入。如果您希望盡可能快地發(fā)送數(shù)據(jù),則必須在每次寫(xiě)入后刷新緩沖區(qū)。


在net/http包中有一個(gè)http.Flusher接口,由默認(rèn)的http.ResponseWriter 實(shí)現(xiàn)。


有了這個(gè),您可以按如下方式重寫(xiě)您的示例:


func handler(w http.ResponseWriter, req *http.Request) {

     switch req.Method {

     case "GET":

          for {

              fmt.Fprintln(w, "repeating...")


              if f, ok := w.(http.Flusher); ok {

                  f.Flush()

              }

          }

     }

}

這將在每次寫(xiě)入后刷新內(nèi)部緩沖區(qū)。


查看完整回答
反對(duì) 回復(fù) 2021-11-29
  • 1 回答
  • 0 關(guān)注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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