[回到版面]
回應模式
名 稱
內 文
附加圖檔[] []
  • 可附加圖檔類型:GIF, JPG, JPEG, PNG, WEBM,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 3072 KB。
  • 當檔案超過寬 125 像素、高 125 像素時會自動縮小尺寸顯示
  • 目前附加圖檔使用量大小: 265057 KB / 500000 KB
  • 回覆時程式碼縮排會被trim消掉,請善用[code][/code]標色或貼到ideone等網站
  • LaTeX記法可以用「$$」或「\( \)」包起來,例如「$\sum_{k=1}^{k=n} k^2 = \frac{n(n+1)(n+2)}{6}$」
  • 投稿時請點擊畫像認證後,再按下 [送出] 按鈕提交。
  • 鬧板、攻擊性發言、煽動性發言請無視(回應者也無視),並使用del或在貓管理部向管理員回報。
  • 新介面尚處於測試階段,如果有任何問題可以向管理員或於程設交流版反映。

檔名:1591796652767.jpg-(120 KB, 1300x2000)
120 KB
websocket疑問無名20/06/10(三)21:44:12 ID:1k/y3O5kNo.14214del
請問在websocket有辦法渲染html嗎?

有試過在function內宣告iris的ctx出來用,但是好像會被卡住無法執行

如果單純傳資料去前端,再用javascript去修改html的內容也是可以,只是這樣好像就失去後端的作用(變成單純依照前端傳來的資訊去資料庫撈東西)
所以才想用後端渲染的方式完成

語言是golang,框架是iris/websocket

ws := websocket.New(websocket.DefaultGorillaUpgrader, websocket.Events{
websocket.OnNativeMessage: func(nsConn *websocket.NSConn, msg websocket.Message) error {
log.Printf("Server got: %s from [%s]", msg.Body, nsConn.Conn.ID())
msg.Body = []byte("Here is output") //想把output渲染到html
nsConn.Conn.Write(msg.Body)
nsConn.Conn.Server().Broadcast(nsConn, msg)
return nil
},
})


完整程式碼是參考iris官方文件
https://github.com/kataras/iris/blob/v12/_examples/websocket/native-messages/main.go

祭品附上
無名20/06/11(四)14:50:36 ID:MajEJSDoNo.14216del
要輸出html給前端更新就要重新載入html
前端重新載入ws就會斷線
除非你用一個iframe來接收ws給的html
在iframe外用js控制更新


【刪除文章】[]
刪除用密碼: