mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-11-21 11:39:27 +01:00
ping every 29 seconds.
fixes https://github.com/nbd-wtf/go-nostr/issues/72
This commit is contained in:
17
relay.go
17
relay.go
@@ -100,6 +100,23 @@ func (r *Relay) Connect(ctx context.Context) error {
|
|||||||
conn := NewConnection(socket)
|
conn := NewConnection(socket)
|
||||||
r.Connection = conn
|
r.Connection = conn
|
||||||
|
|
||||||
|
// ping every 29 seconds
|
||||||
|
ticker := time.NewTicker(29 * time.Second)
|
||||||
|
defer ticker.Stop()
|
||||||
|
go func() {
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-ticker.C:
|
||||||
|
err := conn.socket.WriteMessage(websocket.PingMessage, nil)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("error writing ping: %v; closing websocket", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
// handling received messages
|
||||||
go func() {
|
go func() {
|
||||||
for {
|
for {
|
||||||
typ, message, err := conn.socket.ReadMessage()
|
typ, message, err := conn.socket.ReadMessage()
|
||||||
|
|||||||
Reference in New Issue
Block a user