If the clients dies silently (without sending the TCP RST), the server side 
connection will stay until TCP user time out is triggered (order of tens of 
minutes depending on your kernel setup) in the current implementation 
unless you have a custom dialer to turn on TCP KeepAlive. We are working on 
a heart-beat mechanism to recycle the server connections in a timely 
fashion. It is WIP.

On Tuesday, January 10, 2017 at 2:52:01 AM UTC-8, [email protected] wrote:
>
> Hi,
>
> I have implemented a Go gRPC server for an app backend and see that client 
> connections and the corresponding goroutines are still running even if 
> clients (Android apps) have died. I'm not using methods that stream results 
> from server to client or otherwise.
>
> Is this the expected behaviour?
>
> And if so, is there some kind of way on the Go server code to iterate over 
> client connections and then identify the old idle ones and close them?
>
> Thanks!
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/0115b6c8-61ce-49f4-be6e-1f8c6d7410ac%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to