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

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

Gorilla websocket,一個事件中多條消息

Gorilla websocket,一個事件中多條消息

Go
Cats萌萌 2023-08-14 17:24:22
我正在使用來自 gorilla websockets 的聊天應用程序示例,但我有一個問題,有時,當后端需要向客戶端發(fā)送兩條不同的消息時,它們僅在一個消息事件中發(fā)送,這對我來說很糟糕,因為 JSON.parse從一個字符串解析 2 個 json 將失敗。我可以按換行符進行分割并從消息中獲取每個 json,但我不喜歡這樣做。如果我在后端設置超時,一切都會正常。我可以做些什么來防止這種情況發(fā)生嗎?如果不是,你能解釋一下為什么嗎?這是聊天示例: https ://github.com/gorilla/websocket/tree/master/examples/chat這是我的代碼,我在其中廣播了 2 條消息:if err == nil {    c.SendMessageWithOrders(DB)    data := models.EventSuccess{        Event: utils.EventOrdersCreateSuccess,    }    toReturnBytes, err := json.Marshal(data)    if err == nil {    toReturn := BroadcastOne{        ID:      c.ID,        Message: toReturnBytes,    }    NewHub.broadcastOne <- &toReturn    }}c.SendMessageWithOrders(DB)NewHub.broadcastOne <- &toReturn用不同的數(shù)據(jù)制作
查看完整描述

1 回答

?
慕無忌1623718

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

client.go中的以下代碼通過將排隊的聊天消息作為單個 WebSocket 消息發(fā)送來減少通過網絡發(fā)送的數(shù)據(jù)量:

? n := len(c.send)

? ? ? ? for i := 0; i < n; i++ {

? ? ? ? ? ? w.Write(newline)

? ? ? ? ? ? w.Write(<-c.send)

? ? ? ? }

通過從示例中刪除代碼來修復問題。不需要優(yōu)化。


查看完整回答
反對 回復 2023-08-14
  • 1 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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