如何关闭golang中的rpc服务器?

如何关闭golang中的rpc服务器?,go,Go,我使用上面的代码启动了一个rpc服务器。因为我想把它关掉,我试过了 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) 但它不起作用,错误在于使用封闭网络连接 如何关闭此rpc服务器

我使用上面的代码启动了一个rpc服务器。因为我想把它关掉,我试过了

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)
但它不起作用,错误在于
使用封闭网络连接

如何关闭此rpc服务器?

//等待终止信号
listener.close()
中断信号:=接通(切换操作信号,1) signal.Notify(interruptSignal、syscall.SIGINT、syscall.SIGTERM)
//等待终止信号
中断信号:=接通(切换操作信号,1)
signal.Notify(interruptSignal、syscall.SIGINT、syscall.SIGTERM)

这与我的问题类似。@Kousik您确定有一个名为Shutdown()的API吗?我正在使用go 1.13,但找不到。我正在查看其他一些软件包。抱歉,这与我的问题类似。@Kousik您确定有名为Shutdown()的API吗?我正在使用go 1.13,但找不到。我正在查看其他一些软件包。对不起,这是个好答案。我发现我不需要关闭服务器。拒绝请求就是我想要的。这是一个很好的答案。我发现我不需要关闭服务器。拒绝请求就是我想要的。
    // 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()