mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-06-05 12:58:15 +08:00
Modify conversation_id index options (#3722)
* Modify conversation_id index options Removed the unique constraint from the conversation_id index. * fix(msggateway): reset read deadline in pong handler to prevent Web client timeout Root cause: Due to browser API restrictions, Web (Wasm) clients cannot actively send standard WebSocket Ping frames. They rely entirely on server-initiated Pings (every 27s) and automatic browser Pong responses to maintain the connection. The `pongHandler` was empty and failed to reset the connection's read deadline upon receiving a Pong, causing the server's read loop to strictly time out at 30 seconds. Solution: Call `c.setReadDeadline()` inside the `pongHandler` to properly extend the connection's lifespan when a Pong frame is received. --------- Co-authored-by: OpenIM-Gordon <1432970085@qq.com>
This commit is contained in:
parent
8f913ca13b
commit
1ac6a259dd
@ -208,7 +208,11 @@ func (c *websocketClientConn) pingHandler(appData string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *websocketClientConn) pongHandler(string) error {
|
func (c *websocketClientConn) pongHandler(appData string) error {
|
||||||
|
log.ZDebug(context.Background(), "pong handler recv pong", "remoteAddr", c.conn.RemoteAddr(), "appData", appData)
|
||||||
|
if err := c.setReadDeadline(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -47,6 +47,12 @@ func NewConversationMongo(db *mongo.Database) (*ConversationMgo, error) {
|
|||||||
},
|
},
|
||||||
Options: options.Index(),
|
Options: options.Index(),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Keys: bson.D{
|
||||||
|
{Key: "conversation_id", Value: 1},
|
||||||
|
},
|
||||||
|
Options: options.Index(),
|
||||||
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errs.Wrap(err)
|
return nil, errs.Wrap(err)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user