i am using C# here .My rpc looks like this:
rpc StreamEvents (TestUnitRequest) returns (stream Events);
this rpc method is used to stream events and below rpc method is used to
subscribe to events ,load program api and log timestamp values and return a
boolean value on successful load.
rpc SendStatus(AppStatus) returns (CommandReply);
The client sends a request to load data and stream events from the Grpc
server in the following way:
var reply1 = client.SendStatus(new AppStatus {});
ExceptionMethod(reply1);
var result = client.StreamEvents( new TestUnitRequest {
});
I am trying to write the streamed events to file and return boolean value
to the console as:
Console.WriteLine(reply1.IsAccepted);
Console.WriteLine("Streaming events.....");
StringBuilder sb6 = new StringBuilder();
foreach (var cmd in result.Events)
{
sb6.Append(cmd);
File.AppendAllText(filePath11 +
"SampleTpEventlog.txt", sb6.ToString());
}
sb6.Clear();
But the streaming is returning null value.
Here is the server side code for rpc method sendStatus:
disposable = service.SubscribeToEvents(OnEvents);
try
{
var val1 = await
service.LoadTestProgram(appstatus.Dir, appstatus.Tpl, appstatus.Stpl,
appstatus.Soc, appstatus.Xml, appstatus.Env, true, true);
// Console.WriteLine(now.ToString());
retval = val1;
}
catch (Exception e)
{
errmsg = e.Message;
}
return new CommandReply
{
IsAccepted = retval
};
server side code for rpc method StreamEvents is:
public override async Task StreamEvents(TestUnitRequest tur,
IServerStreamWriter<Events> responseStream, ServerCallContext context)
{
await responseStream.WriteAsync(Events);
}
Please let me know if this is enough.Server is on remote desktop and client
on local desktop.
On Wed, Sep 14, 2022 at 11:04 AM 'Easwar Swaminathan' via grpc.io <
[email protected]> wrote:
> Please provide more information like what language are you using, how does
> your rpc definition look like, what the server does, what the client does
> etc, and what you expect to see, but didnt. In the meantime, maybe this
> helps: https://grpc.io/docs/languages/go/basics/.
> On Tuesday, September 13, 2022 at 4:11:18 PM UTC-7 [email protected]
> wrote:
>
>> Hi,
>> I wanted to know if its possible to stream events and also return a
>> response from the same method in Grpc server call from the client.
>> how do we keep on streaming data and return a response too?
>>
>> Thanks
>> Srishti Kumari
>>
> --
> 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/14610665-5324-47af-92ac-60e5d5bf53e1n%40googlegroups.com
> <https://groups.google.com/d/msgid/grpc-io/14610665-5324-47af-92ac-60e5d5bf53e1n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
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/CAACOWgBizyjMfMAW_F%3D40agVotYex_jAM0ODBJKFx-KV4R585g%40mail.gmail.com.