Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ab2e07b9b | |||
| 9a9c65c24c | |||
| 8a11ce0103 | |||
| cf63683c9c |
@@ -16,7 +16,7 @@ import (
|
||||
|
||||
const (
|
||||
pingPeriod = 10 * time.Second
|
||||
readDeadline = 30 * time.Second
|
||||
readDeadline = 120 * time.Second
|
||||
)
|
||||
|
||||
type SafeMap[K comparable, V any] struct {
|
||||
@@ -220,19 +220,6 @@ func (wsClient *SafeWebsocketClient) connect() error {
|
||||
return fmt.Errorf("failed to connect to %s: %w", wsClient.baseHost, err)
|
||||
}
|
||||
|
||||
conn.SetPingHandler(func(pingData string) error {
|
||||
if err := conn.WriteMessage(websocket.PongMessage, []byte(pingData)); err != nil {
|
||||
if err == websocket.ErrCloseSent {
|
||||
return nil
|
||||
}
|
||||
if netErr, ok := err.(interface{ Timeout() bool }); ok && netErr.Timeout() {
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
pingCtx, pingCancel := context.WithCancel(context.Background())
|
||||
wsClient.mu.WriteHandler(func() error {
|
||||
wsClient.cancelFuncs = append(wsClient.cancelFuncs, pingCancel)
|
||||
@@ -336,6 +323,23 @@ func (wsClient *SafeWebsocketClient) connect() error {
|
||||
}
|
||||
}()
|
||||
|
||||
conn.SetPingHandler(func(pingData string) error {
|
||||
// wsClient.writeChan <- Message{
|
||||
// MessageType: MessageTypePong,
|
||||
// Data: []byte(pingData),
|
||||
// }
|
||||
if err := conn.WriteMessage(websocket.PongMessage, []byte(pingData)); err != nil {
|
||||
if err == websocket.ErrCloseSent {
|
||||
return nil
|
||||
}
|
||||
if netErr, ok := err.(interface{ Timeout() bool }); ok && netErr.Timeout() {
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -351,7 +355,7 @@ func (wsClient *SafeWebsocketClient) startPingTicker(ctx context.Context) {
|
||||
case <-ticker.C:
|
||||
wsClient.writeChan <- Message{
|
||||
MessageType: websocket.PingMessage,
|
||||
Data: nil,
|
||||
Data: []byte{},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user