Hi Filip, I believe I can understand your problem. As you have mentioned your client is master or controller for Robot, right? In that case how are you sending the control instruction to the robot, is there any stream then you can easily detect the client disconnection. If you are reading at server end when the client dies the read will not return true, so you can understand from there.
Otherwise you have to introduce some new API to notify client disconnection and keep that call in catch() block somehow. That may help. Regards, SN On Friday, 2 April 2021 at 16:13:21 UTC+5:30 Filip Mrázek wrote: > Hi, > I would like to write gRPC server in C++, which is able to detect if > client disconnected from the channel (client crashed or closed app). I need > this, because server manages a physical robot and only one client can > controll the robot at the same time (other clients can check only robot's > properties such as position and so on). > I've got *rpc connect(ConnectionInfo) returns(Token) *where > ConnectionInfo contains information wheater client wants to control robot > (wants to be master) or not and if it's possible, server returns access > token. After the master client disconnects, I want to remove token from > server to able other clients connect as master. > The only solution I found out is to have *rpc disconnect() returns(Empty)*, > but I doesn't cover case when client crash or just forget to call *disconnect > *and robot is blocked*.* > Is it possible with c++ gRPC, or what whould you recommend as the best > solution fot this problem? > Thank you very much. > > Filip. > > PS: I found several discussions, but none of them is helpful. > https://groups.google.com/g/grpc-io/c/C0rAhtCUhSs/m/SzFDLGqiCgAJ > https://groups.google.com/g/grpc-io/c/EIcQlLqlNQg > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/b7c3c174-b8cd-43c4-84e7-7752d0def176n%40googlegroups.com.
