refactor(websocket): enable compression for WebSocket connections to improve performance, removed buffer size to use HTTP buffer

This commit is contained in:
yusing
2025-08-29 19:46:09 +08:00
parent 2f0b8b6c09
commit 04657420b8

View File

@@ -1,6 +1,7 @@
package websocket
import (
"compress/flate"
"context"
"encoding/json"
"errors"
@@ -33,8 +34,6 @@ type Manager struct {
}
var defaultUpgrader = websocket.Upgrader{
ReadBufferSize: 4096,
WriteBufferSize: 4096,
CheckOrigin: func(r *http.Request) bool {
origin := r.Header.Get("Origin")
if origin == "" {
@@ -58,6 +57,7 @@ var defaultUpgrader = websocket.Upgrader{
reqHost = strings.ToLower(reqHost)
return originHost == reqHost
},
EnableCompression: true,
}
var (
@@ -86,6 +86,9 @@ func NewManagerWithUpgrade(c *gin.Context) (*Manager, error) {
return nil, err
}
conn.EnableWriteCompression(true)
_ = conn.SetCompressionLevel(flate.BestSpeed)
ctx, cancel := context.WithCancel(c.Request.Context())
cm := &Manager{
conn: conn,