fix: shorten session heartbeat interval to 15s

This commit is contained in:
richjohnrambo
2026-09-17 00:16:14 +08:00
parent 0f8e3b82b7
commit 7df3313c78
4 changed files with 11 additions and 11 deletions
+7 -7
View File
@@ -174,8 +174,8 @@ Tinode 的心跳配置:
```go
const (
writeWait = 10 * time.Second // 写操作超时
pongWait = idleSessionTimeout // 等待 Pong 超时(默认 60 秒)
pingPeriod = (pongWait * 9) / 10 // 发送 Ping 周期(54 秒)
pongWait = idleSessionTimeout // 等待 Pong 超时(默认 45 秒)
pingPeriod = 15 * time.Second // 发送 Ping 周期(15 秒)
)
```
@@ -190,7 +190,7 @@ const (
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ for { │ │
│ │ select { │ │
│ │ case <-ticker.C: // 每 54 秒 │ │
│ │ case <-ticker.C: // 每 15 秒 │ │
│ │ ws.WriteMessage(PingMessage, nil) // 发送 Ping │ │
│ │ case msg <- sess.send: // 有消息待发送 │ │
│ │ ws.WriteMessage(TextMessage, msg) // 发送消息 │ │
@@ -554,8 +554,8 @@ func (sess *Session) writeLoop() {
| 参数 | 值 | 说明 |
|------|-----|------|
| `writeWait` | 10秒 | 写操作超时 |
| `pongWait` | 配置项 | 等待 Pong 超时(默认 60 秒) |
| `pingPeriod` | `pongWait * 0.9` | 发送 Ping 周期 |
| `pongWait` | `idleSessionTimeout` | 等待 Pong 超时(默认 45 秒) |
| `pingPeriod` | 15 秒 | 发送 Ping 周期 |
### 消息格式
@@ -1290,7 +1290,7 @@ func largeFileRunGarbageCollection(period time.Duration, blockSize int) chan<- b
"listen": ":6060",
"grpc_listen": ":16060",
"max_message_size": 262144,
"idle_session_timeout": 60000,
"idle_session_timeout": 45000,
"ws_compression": true,
"api_key_salt": "your-hmac-salt",
@@ -1350,4 +1350,4 @@ curl "http://localhost:6060/v0/channels/lp?sid=SESSION_ID"
| `pbx/model.proto` | gRPC 协议定义 |
| `server/http.go` | HTTP 服务器 |
| `server/session.go` | 会话管理 |
| `server/datamodel.go` | 消息结构定义 |
| `server/datamodel.go` | 消息结构定义 |