Как отключить сервер rp c в golang? - PullRequest
0 голосов
/ 03 мая 2020
var listener net.Listener
if listener, err = net.Listen("tcp",address); err != nil {
    return 
}
server = rpc.NewServer()
server.Register(new(TunnelRPC))

go server.Accept(listener)

Я запустил сервер rp c, используя приведенный выше код. Поскольку я хочу выключить его, я попытался

listener.close()

Но это не работает, ошибка: use of closed network connection

Как отключить этот сервер rp c?

1 Ответ

2 голосов
/ 03 мая 2020
    // Wait for termination signal
    interruptSignal := make(chan os.Signal, 1)
    signal.Notify(interruptSignal, syscall.SIGINT, syscall.SIGTERM)
    <-interruptSignal

    // Terminate the server
    server.GracefulStop()
    listener.Close()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...