fix: shorten session heartbeat interval to 15s
This commit is contained in:
+7
-7
@@ -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` | 消息结构定义 |
|
||||
|
||||
Reference in New Issue
Block a user