Automatically close websocket

This commit is contained in:
Pierre HUBERT 2020-04-10 10:14:16 +02:00
parent c30af1b6d7
commit a0f41fe2e1

12
ws.go
View File

@ -6,6 +6,8 @@ package main
import (
"log"
"os"
"os/signal"
"github.com/gorilla/websocket"
)
@ -13,6 +15,10 @@ import (
// Open websocket connection
func openWs(conf *Config) {
// Auto-close connection when the system request it
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt)
u := conf.getURL()
log.Printf("Connecting to %s", u.String())
@ -23,6 +29,12 @@ func openWs(conf *Config) {
}
defer c.Close()
// Wait for interrupt signal
go func() {
<-interrupt
c.Close()
}()
// Read remote messages
for {