Event Sink with multiple events

I am trying to return progress to a client in Delphi. I have a simple test setup where I call a service, return a value in an event, pause 3 seconds and return a second value. I have the event polling at .5 seconds. When I call it from a client not using async, I get both values returned after the service call completes. So 3 seconds later, I get the first value, then half a second later the second value. When I call it via async, I never get the first value, but get the second value after it completes. What do I need to do to be able to get values as they happen?

Thanks!

what channel you are using?

  • plain http
  • supertcp
  • superhttp
  • something else

Can you provide your testcase for investigation, pls?

On the server I have a TROIndyHTTPServer, TROWinInetHTTPChannel on the client. So I was using that when I tried adding in the event sink. I have since added a TROSuperTCPServer on the server and TROSuperTCPChannel on the client and used it for the async call that includes the messaging and it is working as I would excpect.

Thanks

with plain http channel like TROWinInetHTTPChannel, you need to have a personal replica of channel and message for using it with TROEventReceiver.
using the same channel and message for regular calls and for events may cause problems and exceptions like EROChannelBusy