亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

通道 api:持續斷開和連接

通道 api:持續斷開和連接

Go
陪伴而非守候 2021-11-15 20:36:28
我正在使用 Channel API,在終端打開通道大約 1 分鐘后,我看到INFO     2015-10-20 11:18:08,489 module.py:786] default: "POST /_ah/channel/disconnected/ HTTP/1.1" 200 22782015/10/20 11:18:10 handlerMain executedINFO     2015-10-20 11:18:10,482 module.py:786] default: "POST /_ah/channel/connected/ HTTP/1.1" 200 22792015/10/20 11:18:13 handlerMain executedINFO     2015-10-20 11:18:13,486 module.py:786] default: "POST /_ah/channel/disconnected/ HTTP/1.1" 200 22792015/10/20 11:18:14 handlerMain executedINFO     2015-10-20 11:18:14,482 module.py:786] default: "POST /_ah/channel/connected/ HTTP/1.1" 200 2279等等..我的 .go 文件func init() {    http.HandleFunc("/", handlerMain)}func handlerMain(w http.ResponseWriter, r *http.Request) {            log.Println("handlerMain executed")            c := appengine.NewContext(r)            tok, err := channel.Create(c, "123")            if err != nil {                    panic(err)            }               templ := template.Must(template.ParseFiles("./templates/posts.html"))            err = templ.Execute(w, map[string]string{                    "token": tok,            })              if err != nil {                    panic(err)            }    }我的 .html 文件中的 javascript  <script>    channel = new goog.appengine.Channel('{{.token}}');    socket = channel.open();    socket.onopen = onOpened;    socket.onmessage = onMessage;    socket.onerror = onError;    socket.onclose = onClose;  </script>如果它只是簡單的通知,我可以處理它,但是這種斷開連接會重新執行我的 handlerMain() 函數,并且在這個函數中我想啟動 goroutine,它將向客戶端發送消息,在這種情況下,我將多次重復消息我的 html 頁面。有什么想法嗎?Channel API 有替代方案嗎?我知道不幸的是 websockets 不適用于 GAE更新:在瀏覽器中,我看到 GET XMLHttpRequests 每秒發送到http://localhost:8080/_ah/channel/dev?command=poll&channel=237c7242478266a2856d947decce4b55-channel-2105948409-1445426965-123&client=1帶有標題連接:“保持活動狀態”;當我將瀏覽器切換到另一個選項卡時,幾秒鐘后這些請求就會停止(或非常慢),然后我開始收到此連接/斷開連接通知。如果我跳回該頁面,則每秒都會再次發送請求,并且沒有通知。
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

通道連接/斷開僅出現在我的 macbook 上,而不出現在 PC 上??雌饋硭c應用引擎開發服務器有關,這里有更多詳細信息:https : //groups.google.com/forum/#!topic/ google-appengine-go/ dLe2UvzUgdA


查看完整回答
反對 回復 2021-11-15
  • 1 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號