Hi Spencer, Thanks for your response. this is exactly what I 'm looking for. However, looks like this is available only in grpc-Java ... can't find it in grpc-go ...
Any equivalent in grpc-go? thanks. On Mon, Jan 8, 2018 at 2:19 PM, Spencer Fang <[email protected]> wrote: > Correction: io.grpc.Grpc.TRANSPORT_ATTR_REMOTE_ADDR is an Attributes.Key > > On Mon, Jan 8, 2018 at 2:19 PM, Spencer Fang <[email protected]> > wrote: > >> Ravi: >> The client source IP/port information is present in the Attributes object >> when the ServerCall is started, under the Metadata.Key >> io.grpc.Grpc.TRANSPORT_ATTR_REMOTE_ADDR. You can stash away the >> ServerCall when you server handler starts, or as a part of a >> ServerInterceptor. But keep in mind that ServerCall is not synchronized, so >> if you ever share it between threads you need to perform your own >> synchronization. >> >> On Mon, Jan 8, 2018 at 2:03 PM, Ravi Jonnadula <[email protected]> wrote: >> >>> Is there any option to get the client source IP/port information from >>> the context (without needing to explicitly encode it from the client side >>> metadata)? >>> >>> thanks. >>> >>> On Mon, Jan 8, 2018 at 1:32 PM, Arpit Baldeva <[email protected]> >>> wrote: >>> >>>> You can do this at your application level. Say your first rpc is >>>> "login" (or whatever you want it to be). You can create a "session" object >>>> in your application and return it some sort of "session-key" in the >>>> metadata. After that, your client must send that "session-key" in it's >>>> client context in future rpcs and one of that could be your server >>>> streaming notification rpc. >>>> >>>> On Monday, January 8, 2018 at 12:39:06 PM UTC-8, Ravi Jonnadula wrote: >>>>> >>>>> In my case, once he client initiates first RPC message, I wanted to >>>>> keep the communication channel open between the server-clients. >>>>> The sever shall be able to send message to a specific client at some >>>>> later point of time through this RPC channel. >>>>> For that, I shall be able to maintain a list/map of clients active >>>>> based on the context information available. >>>>> With the information available from context.Conetext() I was not able >>>>> to distinguish different clients from the different/same remote. >>>>> >>>>> On Sat, Jan 6, 2018 at 1:42 PM Arpit Baldeva <[email protected]> >>>>> wrote: >>>>> >>>>>> My question was mainly around how to make sure the client network >>>>>> connection is cleaned up. I did end up with a simple mechanism to detect >>>>>> session inactivity and terminate you streaming rpcs at that point. If I >>>>>> get >>>>>> your question right, you just need to implement your notifications as a >>>>>> server streaming rpc per client/session. >>>>>> >>>>>> On Fri, Jan 5, 2018 at 5:54 PM, <[email protected]> wrote: >>>>>> >>>>>>> Hi Arpit, >>>>>>> >>>>>>> Did you get this working? >>>>>>> >>>>>>> I am looking for similar scenario where I have to keep the list of >>>>>>> client session information on the server side. >>>>>>> Based on someother event, I have to determine which client shall >>>>>>> handle this event and send message to that specific client. >>>>>>> >>>>>>> I don't seem to find these details from Context ... any help would >>>>>>> be great >>>>>>> >>>>>>> >>>>>>> On Tuesday, September 12, 2017 at 12:23:48 PM UTC-7, Arpit Baldeva >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> After reading https://github.com/ejona86/pro >>>>>>>> posal/blob/a339b01be9eafffb1adc4db8c782469caed18bdc/A9-serve >>>>>>>> r-side-conn-mgt.md , I am looking for a small clarification. >>>>>>>> >>>>>>>> It looks like the connections are not considered idle if they have >>>>>>>> outstanding rpcs. That would mean it includes server streaming rpcs as >>>>>>>> well, right? A common use case for server streaming rpcs is to allow >>>>>>>> for a >>>>>>>> Server to Client Notification system. This means application need to >>>>>>>> do "no >>>>>>>> rpc from client in some duration" detection as well in this scenario >>>>>>>> and >>>>>>>> finish streaming rpc before grpc library can run the network layer >>>>>>>> clean up >>>>>>>> on it's end? >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "grpc.io" group. >>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>>>>> pic/grpc-io/g9oittuh_6c/unsubscribe. >>>>>>> To unsubscribe from this group and all its topics, 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/77fd2acf-32a0-4452 >>>>>>> -86a1-ba6f97e782c4%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/grpc-io/77fd2acf-32a0-4452-86a1-ba6f97e782c4%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "grpc.io" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>> pic/grpc-io/g9oittuh_6c/unsubscribe. >>>> To unsubscribe from this group and all its topics, 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/ms >>>> gid/grpc-io/468797ed-9c68-4fc4-a1c5-68f554acd297%40googlegroups.com >>>> <https://groups.google.com/d/msgid/grpc-io/468797ed-9c68-4fc4-a1c5-68f554acd297%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> 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/ms >>> gid/grpc-io/CAC-L5hLX%3DfmHZLSPH%2BXbbF9kM_w7ke%3Dh83XeUvybv >>> C-iMvwd7w%40mail.gmail.com >>> <https://groups.google.com/d/msgid/grpc-io/CAC-L5hLX%3DfmHZLSPH%2BXbbF9kM_w7ke%3Dh83XeUvybvC-iMvwd7w%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Spencer Fang >> > > > > -- > Spencer Fang > -- 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/CAC-L5hLTQT%3DuEOfYXcXcUAhSPC0PuMmuhaaVtfsPAuBLHe50UA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
